文字列配列のリストをint配列のリストにキャストしようとしています。私は、次のことを試してみました:リスト<String[]>をリスト<int[]>に変換する方法はありますか?
List<int[]> dataset = Read(fileName, separator).Select(
line => Array.ConvertAll(line, s => int.Parse(s)
);
読むには文字列配列のリストを返す:List<String[]> dataset
文字列配列のリストをint配列のリストにキャストしようとしています。私は、次のことを試してみました:リスト<String[]>をリスト<int[]>に変換する方法はありますか?
List<int[]> dataset = Read(fileName, separator).Select(
line => Array.ConvertAll(line, s => int.Parse(s)
);
読むには文字列配列のリストを返す:List<String[]> dataset
あなたがリストに(IEnumerable<int[]>
です).Select()
結果を変換する.ToList<T>()
を使用することができます。
このようにして、アイテム配列のすべての項目にint.Parse
を適用し、結果をListに変換します。
また、コードの均質性を提供するために、あなたの代わりにArray.ConvertAll
のLINQ Select
とToArray
を使用することができます。
List<string[]> stringArrayList = ...;
List<int[]> intArrayList = stringArrayList
.Select(stringArray => stringArray.Select(int.Parse).ToArray())
.ToList();
一つの小さな訂正:あなたははintに文字列をキャストしていない、あなたは変換/を解析しますそれ。
ありがとう、これは私がやろうとしていたものです! – Aevitus
@TimSchmelter私があなたが何を意味しているのか分からない:)それはなぜ有効ではないのですか?誰がそれを使用しますか? –
あなたはこのような何かを試すことができます。
List<int[]> Listintegers = yourList
.Select(y => y.Select(x => int.Parse(x)).ToArray())
.ToList();
List<string[]> source = new List<string[]>
{
new string[2] { "2", "3" },
new string[4] { "4", "5", "6", "7" },
new string[1] { "1" }
};
List<int[]> result = source.Select(array => Array.ConvertAll(array, item => int.Parse(item))).ToList();
ことはできません。** int型へのキャスト**文字列、することができます**変換(パース)**それを。 –
単純なループは、理解してデバッグするのが簡単かもしれません。 – Vland
どういう意味なのですか、ごめんなさい。 – Aevitus