■26087 / inTopicNo.8) |
Re[5]: C#でのソートついて |
□投稿者/ カドルドエグ (40回)-(2008/10/01(Wed) 15:19:05)
|
■No26080 (mirrorB さん) に返信
> すみません。
> StreamReaderクラスはわかります。
> StreamReaderクラスでテキストファイルの読み込んでテキストボックスへの表示などはわかりますが、
> List<T>クラスへの読み込み方がわかりません。
> Sort メソッドを使ってのソートもいまいちわからない状況です。
>
> 勉強不足ですみませんがお教えください。
List<T>クラスについてはMSDNに任せるとして…
http://msdn.microsoft.com/ja-jp/library/6sh2ey19.aspx
考え方は、読み込んだファイルをまわして、その中で1行ずつリストにいれていくだけです。
以下サンプルコードです。
※環境:Win XP Pro SP3・VS2005
※フォームにはListBoxがあるのみ
※使用するテキストファイル(Unicodeで保存)「gakuseki.txt」の中身↓
D,200407625,ああああ
E,200501234,いいいい
A,651213040,うううう
I,953148271,ええええ
C,453435435,おおおお
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
StreamReader reader = new StreamReader(@"C:\gakuseki.txt", Encoding.Unicode);
// List<T>のインスタンスを作成。「T」には「型」が入ります。
// 今回はstringを扱います
List<string> studentsList = new List<string>();
// 読み込んだファイルが終わりに達するまで繰り返す
while (!reader.EndOfStream)
{
// 先ほど作ったリストに1行ずつ追加
studentsList.Add(reader.ReadLine());
}
// リーダーを解放
reader.Dispose();
// ソート
studentsList.Sort();
// 確認用のListBoxに表示
this.listBox1.DataSource = studentsList;
}
}
}
今回はわかりやすくするために引数のないSortメソッド、
頭にアルファベットが入ったテキストファイルを使用しました。
Sortメソッドはいくつかオーバーロードがあるので、仕様に合わせて使い分けてください。
List<(Of <(T>)>).Sort メソッド
http://msdn.microsoft.com/ja-jp/library/3da4abas.aspx
|
|