これはクラックするのは難しいナットのようです。私はそれがあなたにとって非常に簡単だと思っています。 LINQを使ってこれが可能かどうか疑問に思っていました。ここでリストを変更するLINQクエリ
は私のリストです:私はこのリストを使用して2つのことを達成する必要が
ABC,1,RON,26,73
CDE,13,JON,21,18
ERROR,ERROR LINE,ERROR LINE,DEF
DEF,NOT AVAILABLE,"",JANE,32,13
GHI,23,DAWN,14,25
:
- はリスト
- の底にERRORと行と次の行を移動しますERRORの後の次の行(「DEF」で始まった行)は、フィールドがすべて正しい行になるように変更する必要があります。しかし、私はまだERROR行の後にとどまるべきです。
最終的なリストは、次のようになります。
ABC,1,RON,26,73
CDE,13,JON,21,18
GHI,23,DAWN,14,25
ERROR,ERROR LINE,ERROR LINE,DEF
DEF,NOT AVAILABLE,JANE,32,13
を今、私の完全な、詳細なLINQクエリは次のようになります。あなたがしたい場合
var myList = (File.ReadLines(myFile.ToString(), Encoding.GetEncoding(1250)))
.ToList()
.OrderBy(l => l[0].ToString())
.Select(l => new specialclass {
Comp = l[0].ToString(),
Place = Convert.ToInt32(l[1].ToString()),
Name = l[2].ToString(),
Limit = Convert.ToInt32(l[3].ToString()),
Limit2 = Convert.ToInt32(l[4].ToString())
});
このデータは実際どのように配置されていますか?いくつかのコードを表示します。それは私のリストのようにはあまり見えません。 – Yuck
linqで列挙している間に何かを修正することはできないので、質問は無効と表示されます。また、 "私のリスト"が何であるかを理解することは難しいです。各線はリストのオブジェクトですか?または、LinqからSqlへの更新クエリの実行について話していますか? –
Will
私はデリミタとして二重スペースを持つレガシーテキストファイルを読んでいます。私は単純にカンマを使用しました。今すぐ完全な、詳細なLINQクエリは次のようになります:var myList =(File.ReadLines(myFile.ToString()、Encoding.GetEncoding(1250)))ToList() \t .OrderBy(l => l [0 ]。ToStringメソッド()) \t .Select(L =>新しいspecialclass \t {\t \tコンプ= 1 [0] .ToString()、 \t \tプレイス= Convert.ToInt32(L [1] .ToString())、 \t \t名= 1 [2] .ToString()、 \t \tリミット= Convert.ToInt32(L [3] .ToString())、 \t \t LIMIT2 = Convert.ToInt32(L [4] .ToString() ) \t}); –