技術メルマガのネタ
青木「文○列と言えば、な~んだ?」
田中「先輩…伏字にしても、文字列としてか読めないんですけど」
青木「まあぁ、そうかもな。伏字にすると、アレだから、文♡列」っていうのはどうだ?」
田中「先輩…伏字というか、なんというか、文字列ですよね。やっぱり」
青木「そうかぁ、そうなると、文字列♡ っていうのは、どうだ?」
田中「…」
青木「ほら、あだち充が開発した、なんでもラブコメになってしまうという、技を君は知らないのか?」
田中「…」
青木「コホン…ああ、秋空。空が高いなぁ」
田中「盆には早いですが…」
だいたい、これだけ覚えておけば大丈夫よ、ってな感じです。
個人的には String.IsNllOrEmpty は使いたくないんですけどね。確かに String 型は Nothing/Null が入るので、null を代入したときに Length プロパティでチェックすると例外が発生してしまう訳ですが、データベースでの NULL を扱うならば、明示的に Nullable を使うほうが他との対応(nullable(of integer)とか)がよいかなぁと。
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