技術メルマガのネタ
青木「文○列と言えば、な~んだ?」
田中「先輩…伏字にしても、文字列としてか読めないんですけど」
青木「まあぁ、そうかもな。伏字にすると、アレだから、文♡列」っていうのはどうだ?」
田中「先輩…伏字というか、なんというか、文字列ですよね。やっぱり」
青木「そうかぁ、そうなると、文字列♡ っていうのは、どうだ?」
田中「…」
青木「ほら、あだち充が開発した、なんでもラブコメになってしまうという、技を君は知らないのか?」
田中「…」
青木「コホン…ああ、秋空。空が高いなぁ」
田中「盆には早いですが…」
だいたい、これだけ覚えておけば大丈夫よ、ってな感じです。
個人的には 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
