2017-03-24 12 views
0

したがって、私は数の束を含むこの配列を持っています。私はいつもそれらの文字のうちの3つをとり、それらから1つの整数を作りたいと思います。私はまだこれについて何も見つけていない。ここ は一例です。配列の3文字の整数への配列C#

string number = "123456xyz"; 

文字列は、私が持っているもので、これらの整数は、私が

int goal1 = 123; 
int goal2 = 456; 
int goaln = xyz; 

それは、すべての文字を通過し、常に3のグループにそれらを分割する必要があり欲しいものです。私はforeach()が私を助けるつもりだと思っていますが、それをどうやって行うのかはかなりわかりません。このような

+0

'char'は効率的に' Int16'なので、 '3 char'は' Int48'(.Netはこのような型はありません)です。だから一般的に、3つの 'char'を単一の' int'( 'Int32')にパックすることはできませんが、' long'( 'Int64')にすることができます –

+0

forループを使って文字列を繰り返し処理できますあなたがまだ3を持っているかどうかを調べるために現在のインデックスのモジュラスを行います – Muckeypuck

答えて

1

何か:

var goals = new List<int>(); 
for (int i = 0; i + 2 < number.Length; i += 3) 
{ 
    goals.Add(int.Parse(number.Substring(i,3))); 
} 

これは何のエラーチェックを持っていないが、それは一般的な概要を示しています。 Foreachは、一度に3つずつ見たいときに文字を1つずつ通過するため、大きな選択肢ではありません。

0
var numbers = (from Match m in Regex.Matches(number, @"\d{3}") 
    select m.Value).ToList(); 

var goal1 = Convert.ToInt32(numbers[0]); 
var goal2 = Convert.ToInt32(numbers[1]); 
... 
+1

あなたのコードに説明を提供することを検討してください – arghtype

0

[OK]をクリックします。すべての助けをありがとう!

関連する問題