一般的に自分の文字列を使用する一般的な場合の変換方法。TOUPPER()| TOLOWER()。特殊なケースがあるの下では、それはあなたの文字列を与えることです。文字列として= "ASD $";〜A、S〜S、D、〜D、$記号変わらないと主張しています。
情報を確認し、他の3つの方法があると言います。私は2つだけを発見しました。
- :事前に定義された大文字と小文字の配列
(1):26の事前定義された文字列記憶小文字。対応する配列を有することが可能と一致するよう
プライベート 静的 文字 []最大= { ' Q '、' W '、' E '、' R '、' T '、' Y '、' U '、' 私は'、' O '、' P '、' ' ' S ' ' D '、「F' ' G ' ' H ' ' J ' ' K ' ' L ' ' Z ' ' X ' ' C ' ' V ' ' B ' ' N ' ' M ' } ; プライベート 静的 文字 []下部= { '' W '、' E '、' R '、' T '、' Y '、' U '、' iが'、' O '、' P '、' '、' S '、' D '、' F ' ' G ' 'H "、' J '、' K '、' L '、' Z '、' X '、' C '、' V '、' B '、' N '、' M ' }。
(2)書き込み方法は、文字列の各要素に対して個別に決定されます
パブリック 静的 文字列のgetResult(列STR) { StringBuilderのSB = 新しい新規のStringBuilder(); // 変更のStringBuilderを格納するための文字列は非常に効率的である ため(INT I = 0 ; I <str.length; I ++は) { int型 BOL = Array.indexOf(STR [I]、アップ); // strが大文字である最初の要素をチェックします。ここでは、小文字かどうかを判断するために所有することができます。 IF(BOLの== - 1)// 2例1:下部要素2:他の要素 { INT bol2 Array.indexOf =(以下、STR [I]); // この場合は、小文字かどうかをチェックする IF(== bol2 - 1)// 他の要素の説明 { sb.append(STR [I]); // 無傷のために加え 続ける ; // その後、次の整合素子を開始 } 他// 小文字の対応する要素は、大文字であれば添加要素 { sb.append([bol2]まで); } } 他 // 小文字要素に対応する大文字にプレゼンス要素 { sb.append(下位[BOL]); } } を返す(sb.ToStringを); }
印象を深めるために。の手
その上で、このメソッドを呼び出した後。
- II:コードAscallの使用を比較します
文字列 STR = " ASDの$ " ; // 配列を改変することができる変換 文字 [] = C str.ToCharArray(); // 変換が格納された後に文字 のStringBuilder SB = 新しい新;)(のStringBuilderの ため(int型私は= 0 ; I <str.length; Iは++ ) { // 使用ascall 場合は、(Cは、[I]は> = ' A ' && C [I] <= ' Zが')// か否かを判定する小文字 { C [I] =(チャー)(C [I] - 32); // これは、大文字に変換される場合である } 他 IF(C [I]> = ' ' && C [I] <= ' Z ' ) { C [I] =(チャー)(C [I] + 32 ); } そうでなければ { C [I] = C [I]は、// 他の要素は変更されない } sb.append(C [I]); // 要素を追加 } Console.WriteLineをします( STR);
Console.WriteLineを(sb.ToString())。
Console.ReadKey();
32の違いの場合は、この接続で見ることができます。