アレイのArray
または配列のList
を使用する方がはるかに簡単ですが、2D配列を実行することができます。配列のList
については
:
var EqualRows = listInput.Where(r => r.Any(s => s == find)).ToList();
あなたの場合:
var find = "5549871";
var ContainingRows = listInput.Where(r => r.Any(s => s.Contains(find))).ToList();
が完全一致を含む行を検索するには:
var listInput = File.RealAllLines("1.csv").Select(line => line.Split(';')).ToList();
は、文字列を含む行を検索するには1つの一致があることを知っていれば、ToList()
をFirst()
。
検索の詳細がわかっている場合は、検索のスピードアップのためにインデックス(Dictionary
)を作成することができます。
対応する2D配列作成機能はありません。作成するサイズを知っている必要があります。
var array2d = new string[listInput.Length, 3];
for (int row = 0; row < listInput.Length; ++row) {
for (int col = 0; col < 3; ++col)
array2d[row, col] = listInput[row][col];
}
インデックスの種類を作成しない限り、検索は高速になるわけではありませんが、簡単です。 (引用符を取る&アカウントに文字をエスケープすなわち)の解析真のCSVファイルについて
var findrow = -1;
for (int row = 0; row < array2d.GetUpperBound(0); ++row) {
for (int col = 0; col < array2d.GetUpperBound(1); ++col) {
if (array2d[row,col].Contains(find)) {
findrow = row;
break;
}
}
}
、https://stackoverflow.com/a/3508572/361842あたり 'Microsoft.VisualBasic.FileIO.TextFieldParser'を使用 – JohnLBevan