転職活動のなかで、paizaに出会った。
paiza.jp
paizaのスキルチェックでは、プログラミングの問題を解くことができる。この問題を解く際に、文字列やリストを操作するメソッドを知っていると、ソースを簡潔に書くことができる。C#には色々便利なメソッドが用意されているので、まずは文字列操作から色々まとめていく。
文字列の比較
Javaで慣れているとequalsメソッドを使おうとするが、C#では==演算子を使える。
if (str1 == str2) { }
ただ、この文字列比較は色々種類がある。さっきの==演算子を使った比較は、完全一致が条件になるが、大文字・小文字の区別なく比較したい場合などもでてくる。
そういった時は、Compareメソッドを使う。
var str1 = "windows"; var str2 = "WINDOWS"; // 第3引数をtrueにすることで、大文字・小文字の区別なく比較 if (String.Compare(str1, str2, true) == 0) { }
このCompareメソッドはオーバーロードされたメソッドがある。
var str1 = "カステラ"; var str2 = "かすてら"; var cultureInfo = new CultureInfo("ja-JP"); // ひらがなとカタカナの区別なく文字列比較 if(String.Compare(str1, str2, cultureInfo, CompareOptions.IgnoreKanaType) == 0) { }
var str1 = "HTML5"; var str2 = "HTML5"; var cultureInfo = new CultureInfo("ja-JP"); // 全角と半角の区別なく文字列比較 if(String.Compare(str1, str2, cultureInfo, CompareOptions.IgnoreWidth) == 0) { }
var str1 = "Computer"; var str2 = "COMPUTER"; var cultureInfo = new CultureInfo("ja-JP"); // 全角・半角、大文字・小文字の区別なく文字列比較 if(String.Compare(str1, str2, cultureInfo, CompareOptions.IgnoreWidth : CompareOptions.IgnoreCase) == 0) { }