技術メルマガのネタ
青木「文○列と言えば、な~んだ?」
田中「先輩…伏字にしても、文字列としてか読めないんですけど」
青木「まあぁ、そうかもな。伏字にすると、アレだから、文♡列」っていうのはどうだ?」
田中「先輩…伏字というか、なんというか、文字列ですよね。やっぱり」
青木「そうかぁ、そうなると、文字列♡ っていうのは、どうだ?」
田中「…」
青木「ほら、あだち充が開発した、なんでもラブコメになってしまうという、技を君は知らないのか?」
田中「…」
青木「コホン…ああ、秋空。空が高いなぁ」
田中「盆には早いですが…」
だいたい、これだけ覚えておけば大丈夫よ、ってな感じです。
個人的には String.IsNllOrEmpty は使いたくないんですけどね。確かに String 型は Nothing/Null が入るので、null を代入したときに Length プロパティでチェックすると例外が発生してしまう訳ですが、データベースでの NULL を扱うならば、明示的に Nullable を使うほうが他との対応(nullable(of integer)とか)がよいかなぁと。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | Imports System.Data.SqlClient Public Class Form1 ''' ''' 基本的なところをちょろっと ''' ''' <param name="sender" /> ''' <param name="e" /> ''' Private Sub Button1_Click( ByVal sender As System. Object , ByVal e As System.EventArgs) Handles Button1.Click Dim s1 As String = "普通の初期化" ' NULL を入れることができる Dim s2 As String = Nothing ' Empty を入れることができる Dim s3 As String = String .Empty #If False Then If s2.Length = 0 Then ' 例外発生 End If #End If If s3 = "" Then ' 実は空白と同じ MessageBox.Show( "実は空白と同じ" ) End If If String .IsNullOrEmpty(s2) = True Then MessageBox.Show( "IsNullOrEmpty を使う" ) End If ' 直接文字列に対してメソッドを使える Dim s4 As String = "tonny masuda" .ToUpper MessageBox.Show(s4) End Sub ''' ''' String は値型扱いになる ''' ''' <param name="sender" /> ''' <param name="e" /> ''' Private Sub Button2_Click( ByVal sender As System. Object , ByVal e As System.EventArgs) Handles Button2.Click Dim src As String = "tonny" Dim dest As String = "" ' 文字列はコピーされる dest = src ' コピー元を変えても、コピー先は変わらない src = "TONNY" MessageBox.Show( _ String .Format( "src is {0}. dest is {1}" , src, dest)) End Sub ''' ''' ToString を使ってフォーマットする ''' ''' <param name="sender" /> ''' <param name="e" /> ''' Private Sub Button3_Click( ByVal sender As System. Object , ByVal e As System.EventArgs) Handles Button3.Click ' 日付をフォーマット MessageBox.Show( Date .Now.ToString( "yyyy年MM月dd日" )) ' 数値をフォーマット Dim i As Integer = 1000 MessageBox.Show(i.ToString( "#,###円" )) ' クラス名など Dim cn As New SqlConnection MessageBox.Show(cn.ToString) ' ToString を overrides する Dim hello As New Hello hello.age = 40 hello.name = "tonny masuda" MessageBox.Show(hello.ToString) End Sub ''' ''' 文字列の連結諸々 ''' ''' <param name="sender" /> ''' <param name="e" /> ''' Private Sub Button4_Click( ByVal sender As System. Object , ByVal e As System.EventArgs) Handles Button4.Click ' + 演算子で連結 Dim s1 As String = "tonny" + " " + "masuda" ' & 演算子で連結 Dim s2 As String = "tonny" & " " & "masuda" ' 数値から暗黙の変換 Dim s3 As String = 1234 ' 数値へ暗黙の変換 Dim i4 As Integer = "1234" End Sub ''' ''' よく使われる String のメソッド ''' ''' <param name="sender" /> ''' <param name="e" /> ''' Private Sub Button5_Click( ByVal sender As System. Object , ByVal e As System.EventArgs) Handles Button5.Click Dim s1 As String = "tonny masuda" ' 文字列の長さ Dim i2 As Integer = s1.Length ' 先頭の文字 Dim s3 As String = s1.Substring(0, 1) Dim s4 As String = s1(0) ' 最後の文字 Dim s5 As String = s1.Substring(s1.Length - 1, 1) Dim s6 As String = s1(s1.Length - 1) ' 大文字/小文字 Dim s7 As String = s1.ToUpper Dim s8 As String = s1.ToLower ' 前後の空白を削除 Dim s9 As String = s1.Trim ' 置き換え Dim s10 As String = s1.Replace( "masuda" , "増田" ) ' 指定文字列を削除 Dim s11 As String = s1.Replace( "禁則事項ですッ!!!" , "" ) ' 先頭の5文字だけ残す Dim s12 As String = s1.Substring(0, 5) Dim s13 As String = s1.Remove(5) ' 左寄せ/右寄せ Dim s14 As String = s1.PadRight(20) Dim s15 As String = s1.PadLeft(20, "○" ) MessageBox.Show(s15) End Sub End Class ''' ''' ToString を overrides したクラス ''' ''' Public Class Hello Public age As Integer Public name As String Public Overrides Function ToString() As String Return String .Format( "オラ {0}. 年齢 {1} 歳だけど、よろしくなッ!!!" , name, age) End Function End Class |