C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C# テキストデータを読み込んで並び替え・重複削除するソフト


(過去ログ 131 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■77631 / inTopicNo.1)  C# テキストデータを読み込んで並び替え・重複削除するソフト
  
□投稿者/ kei (1回)-(2015/11/09(Mon) 18:29:16)

分類:[C#] 

2015/11/09(Mon) 18:32:07 編集(投稿者)
2015/11/09(Mon) 18:32:04 編集(投稿者)
2015/11/09(Mon) 18:31:45 編集(投稿者)

C#を学び始めた初心者です(IDEはVisualStudioを使用しています)。
下記の様なテキストデータを読み込み、重複している行を削除し、列1で並び替えをした後、テキストファイルへ書き出すソフトを作成しています。
読み込んだデータの格納は、データテーブル(データセット)、多次元配列、SQL、LINQのどれを使用するのが並び替え及び重複削除するのに望ましいでしょうか。
現在は、データセットのテータテーブルにデータを読み込む形にしているのですが、重複行の削除や並び替えができずにいます。
よろしくお願いいたします。


「読み込み時のテキストデータ」
列1,列2,列3
1C,100,200
3C,200,300
2C,300,300
4C,200,200
1C,100,200
3C,200,300

「書き出し後のテキストデータ」
列1,列2,列3
1C,100,200
2C,300,300
3C,200,300
4C,200,200

引用返信 編集キー/
■77634 / inTopicNo.2)  Re[1]: C# テキストデータを読み込んで並び替え・重複削除するソフト
□投稿者/ 魔界の仮面弁士 (554回)-(2015/11/09(Mon) 19:40:31)
No77631 (kei さん) に返信
> データテーブル(データセット)、多次元配列、SQL、LINQのどれを使用するのが並び替え及び重複削除するのに望ましいでしょうか。

どれでも良いとは思いますが、私なら LINQ を使うかな…。多次元配列は避けますね。


> 現在は、データセットのテータテーブルにデータを読み込む形にしているのですが、重複行の削除や並び替えができずにいます。
DataView view = new DataView(元のテーブル);
view.Sort = "列1";
DataTable discintTable = view.ToTable(true);

var cols = discintTable.Columns.OfType<DataColumn>().Select(col => col.ColumnName);
var rows = discintTable.AsEnumerable().Select(row => string.Join(",", row.ItemArray));

StringBuilder sb = new StringBuilder();
sb.AppendLine(string.Join(",", cols));
sb.AppendLine(string.Join("\r\n", rows));

string outputText = sb.ToString();

Console.WriteLine(outputText);
引用返信 編集キー/
■77648 / inTopicNo.3)  Re[2]: C# テキストデータを読み込んで並び替え・重複削除するソフト
□投稿者/ kei (2回)-(2015/11/10(Tue) 17:48:28)
2015/11/11(Wed) 16:27:56 編集(投稿者)

コードまで書いてくださいましてありがとうございます!
並び替えと重複行を削除することができました!


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -