数値を様々な書式でフォーマットで出力
* string.Format()を使用する例1-1:0埋めのファイル名を指定したい場合
int num = 12; string str = string.Format("FileName{0:D6}.txt", num); // str = "FileName000012.txt";
例1-2:0埋めのファイル名を指定したい場合(別例 : PadLeft())
string tempStr = "123"; // 8文字になるまで先頭を半角スペースで埋める string str1 = tempStr .PadLeft(8); // str = "000000123"; // 8文字になるまで先頭を半角スペースで埋める string str2 = tempStr .PadLeft(10, '0'); // str = "00000000123";
参考資料
http://jeanne.wankuma.com/tips/csharp/string/padleft.html例1-3:空白埋めのファイル名を指定したい場合
string str1 = string.Format("{0, 8}", "ABC"); // str1 = " ABC"; string str2 = string.Format("{0, -8}", "ABC"); // str2 = "ABC ";
参考資料
http://www.atmarkit.co.jp/fdotnet/dotnettips/116formatint/formatint.html例2:日付の出力をyyyy/MM/ddで出力する
string str = string.Format("Today's date : {0:yyyy/MM/dd}", DateTime.Now);
例3:数値を文字列を四捨五入して出力する
double num = 123.5956; this.label1.Text = num.ToString(string.Format("f{0}", 2)); // 「123.60」と出力 num = 123.3256; this.label2.Text = num.ToString(string.Format("0.{0}",new string('0', 3))); // 「123.326」と出力
参考資料
http://homepage3.nifty.com/midori_no_bike/CS/numstr.html例4:3桁のカンマ区切り(小数点桁数4桁)
double num = 1234567890.12; this.label1.Text = num.ToString(string.Format("{0:N4}", num)); // 「1,234,567,890.1200」と出力
参考資料
http://ameblo.jp/only-human/entry-10077320189.htmlhttp://msdn.microsoft.com/ja-jp/library/241ad66z
http://msdn.microsoft.com/ja-jp/library/7x5bacwt
文字切り出し
構文
* String.Substring(開始位置, 終了位置):開始位置から最終位置までを戻り値として返す * String.Substring(開始位置):開始位置から最終までを戻り値として返す
文字列連結
* 「+」でもできるけど、String.Concat()もあるhttp://dobon.net/vb/dotnet/string/concat.html
構文
String.Concat(文字列1, 文字列2, ...):文字列連結を戻り値として返す
From Framework4
コレクションの各要素を事前に文字列に変換することなく連結できるようになった例
List<int> list = new List<int> { 1, 2, 3, }; string lists = string.Concat(list); this.label1.Text = lists + " Da-"; // "123 Da-"が出力
文字列配列内の文字列を連結
* string.Join()メソッドを使用する* 例のように配列やリストから、SQL文を作成するなどに使える
構文
result = string.Join(区切り文字列, 文字列配列)
例
string[] idList = {"001", "003", "004"}; string sql = "SELECT * FROM testTable WHERE id in (" + string.Join(",", idList.ToArray()) + ")"; // "SELECT * FROM testTable WHERE id in (001,003,004)"が出力
参考文献
http://www.atmarkit.co.jp/fdotnet/dotnettips/366join/join.htmlFrom Framework4
コレクションの各要素を事前に文字列に変換することなく連結できるようになった例
List<int> list = new List<int> { 1, 2, 3, }; string lists = string.Join(", ", list); this.label1.Text = lists + " Da-"; // "1, 2, 3 Da-"が出力
文字列判定
* string.StartsWith()・EndsWith()メソッドを使用するサンプルプログラム
単語が母音だったら「An」それ以外なら「A」を付加して表示する
* 正規表現やList.Exists()でもできると思うけど...http://blogs.yahoo.co.jp/dk521123/22295813.html
private void button11_Click(object sender, EventArgs e) { List<string> list = new List<string>() { "A", "a", "I", "i", "U", "u", "E", "e", "O", "o", }; bool flag = false; foreach(var value in list) { if (this.textBox1.Text.StartsWith(value)) { flag = true; break; } } if (flag) { this.label2.Text = "An " + this.textBox1.Text; } else { this.label2.Text = "A " + this.textBox1.Text; } }