IndexOfについて
- 題名: IndexOfについて
- 著者: ケイ
- 日時: 2008/04/04 11:45:24
- ID: 21791
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: IndexOfについて
- 著者: mo
- 日時: 2008/04/04 12:19:59
- ID: 21792
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: IndexOfについて
- 著者: ケイ
- 日時: 2008/04/04 12:58:57
- ID: 21793
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: IndexOfについて
- 著者: まどか
- 日時: 2008/04/04 13:03:21
- ID: 21794
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: IndexOfについて
- 著者: Hongliang
- 日時: 2008/04/04 13:34:09
- ID: 21795
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: IndexOfについて
- 著者: ケイ
- 日時: 2008/04/04 14:16:24
- ID: 21796
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: IndexOfについて
- 著者: まどか
- 日時: 2008/04/04 15:33:47
- ID: 21797
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
お世話になります。
現在Vb 2005 Pro にてプロジェクト種類をWindous CE 5.0で
デバイスアプリケーションの作成を行っています。
http://dobon.net/vb/dotnet/programing/icomparer.html
上記で配列内の要素の並び替えを指定できる方法がありました。
これを参考に配列内の一部分でのソートを行いました。
※配列内は "000001名前です1001" のように複数の項目からなる文字列になっています。
Public Class JisakuComparer
'IComparerインターフェイスを実装する
Implements System.Collections.IComparer
'xがyより小さいときはマイナスの数、大きいときはプラスの数、
'同じときは0を返す
Public Function Compare(ByVal x As Object, _
ByVal y As Object) As Integer Implements IComparer.Compare
Dim strByte() As Byte
Dim strByte2() As Byte
strByte = System.Text.Encoding.GetEncoding("shift-jis").GetBytes(CType(x, String))
strByte2 = System.Text.Encoding.GetEncoding("shift-jis").GetBytes(CType(y, String))
Return System.Text.Encoding.Default.GetString(strByte, 48, 6) - System.Text.Encoding.Default.GetString(strByte2, 48, 6)
End Function
End Class
上記で正しくソートはできたのですが、
実際にやりたい事は、配列内の要素の一部分の検索を行いたいです。
Data[0] = "000001名前1T1"
Data[1] = "000002名前2T1"
Data[2] = "000003名前3T2"
Data[3] = "000004名前4T2"
配列の内容が上記の場合に、先頭から6桁が"000003"である
配列の要素を取得したいです。
もし配列の内容が検索した文字のみだった場合、Array.IndexOf(Data, "000003")で取得はできますが
一部分でのソートが出来たので、同じように一部分での検索が
できないかと思いまして・・・・
どのようにしたら可能でしょうか?
※不可能であるならその事も教えていただきたいとおもいます。
よろしくお願いいたします。