DOBON.NET DOBON.NETプログラミング掲示板過去ログ

文字列の比較

  • 題名: 文字列の比較
  • 著者: ひろ
  • 日時: 2004/03/14 9:53:40
  • ID: 3047
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[XP,C#]
分類:[.NET]

文字列の比較演算子に>=や<=は使えないとヘルプにありましたが、このような比較を行いたい場合はどのようにすればいいのでしょう。
VBであればStrComp関数を使ってできるようなのですが、C#でのやり方を見つけることができません。
よろしくお願いいたします。
■No3047に返信(ひろさんの記事)
> 文字列の比較演算子に>=や<=は使えないとヘルプにありましたが、このような比較を行いたい場合はどのようにすればいいのでしょう。
> VBであればStrComp関数を使ってできるようなのですが、C#でのやり方を見つけることができません。

C#のstring型、VB.NETのString型はどちらも.NETのSystem.Stringクラスですので、
StringクラスのメソッドであるCompare、CompareOrdinal、CompareToメソッドを使用できます。

また、Microsoft.VisualBasic.dllを参照設定すれば、
そのままVBのStrComp関数を使うこともできます。
Microsoft.VisualBasic.Strings.StrCompがフルネームになりますのでこの名前でアクセスできます。

StrCompと同じ仕様の関数を作るには、
バイナリ比較の場合は、
String.Compareメソッドを使用し、
テキスト比較の場合は、
System.Globalization.CultureInfoクラスのCurrentCultureを取得し、
このカレントカルチャーからCompareInfoプロティでCompareInfoオブジェクトを取得し、
これの持っているCompareメソッドを使用します。
第三引数はCompareOptions型を指定しますが、
IgnoreCase | IgnoreKanaType | IgnoreWidth
を指定すれば、StrCompと同じ仕様になるかもしれません。
■No3049に返信(よねKENさんの記事)
> ■No3047に返信(ひろさんの記事)
>>文字列の比較演算子に>=や<=は使えないとヘルプにありましたが、このような比較を行いたい場合はどのようにすればいいのでしょう。
>>VBであればStrComp関数を使ってできるようなのですが、C#でのやり方を見つけることができません。
>
> C#のstring型、VB.NETのString型はどちらも.NETのSystem.Stringクラスですので、
> StringクラスのメソッドであるCompare、CompareOrdinal、CompareToメソッドを使用できます。
>
> また、Microsoft.VisualBasic.dllを参照設定すれば、
> そのままVBのStrComp関数を使うこともできます。
> Microsoft.VisualBasic.Strings.StrCompがフルネームになりますのでこの名前でアクセスできます。
>
> StrCompと同じ仕様の関数を作るには、
> バイナリ比較の場合は、
> String.Compareメソッドを使用し、
> テキスト比較の場合は、
> System.Globalization.CultureInfoクラスのCurrentCultureを取得し、
> このカレントカルチャーからCompareInfoプロティでCompareInfoオブジェクトを取得し、
> これの持っているCompareメソッドを使用します。
> 第三引数はCompareOptions型を指定しますが、
> IgnoreCase | IgnoreKanaType | IgnoreWidth
> を指定すれば、StrCompと同じ仕様になるかもしれません。
>
>
>
>

String.StrartWith()

String.EndWith()
もなかなか便利ですよ。
  • 題名: Re[3]: 文字列の比較
  • 著者: ひろ
  • 日時: 2004/03/14 15:28:17
  • ID: 3053
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
早速のご回答をいただきましてありがとうございました。

教えて頂いたやり方をそれぞれ試してみて、期待通りの結果になりました。
stringって単なる型ではなく、オブジェクトだったんですよね。その辺をしっかり理解していなかったようです。string自体に様々なメソッドがあったとは。
調べ方が全く間違ってました。今後のためにも本当に参考になりました。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板