VB.NET

【VB】C#との差異 (配列 編)

■配列の定数化 * 別にVBだけでなく、.NET(C#)でも、Constを使って、配列の定数化ができない => 代わりに「Readonly Shared」を使用する 構文 Public Readonly Shared ConstArray As String() = {"a", "b"} 参考文献 http://qiita.com/tanakaworld/items/eda6…

【VB】LINQ ~ Where編 ~

サンプル 'データ配列 Dim values As New List(Of Company) From { New Company With {.Id = "X001", .CountryCode = "JP", .Type = "Car", .Name = "Toyota", .Point = 34}, New Company With {.Id = "X002", .CountryCode = "JP", .Type = "Etc", .Name = …

【VB】LINQ ~ 基本編 ~

Linqの種類 1) クエリ構文(query syntax) 2) メソッド構文(method syntax) 違いは... 見た方が早い クエリ式 Dim query = From x In values Select x.Id メソッド形式 Dim query = values.Select(Function(x) => x.Id) クエリ構文 http://homepage1.nift…

【VB】LINQ ~ GroupBy編 ~

■ サンプルに使用するクラス・データ * クラス NotInheritable Class Company Public Property Id As String Public Property CountryCode As String Public Property FieldType As String Public Property Name As String Public Property Point As Integer…

【VB】C#との差異 (条件分岐 - Select-case文(C#のSwitch-case) 編)

■ Select-case文(C#のSwitch-case) 構文 * 「break」や条件の後の「:」は不要。 Select Case 【比較対象】 Case 【条件1】 【処理1】 Case 【条件2】 【処理2】 Case Else 【処理3】 End Select 条件文 * 条件には以下のように指定できる。詳細は、以下のサ…

【VB】LINQ ~ Any編 ~

はじめに * 存在チェックに役立つ、Anyを紹介。 サンプル ' データテーブルを作る Dim dt As New DataTable("testTable") With dt.Columns .Add("ID", GetType(Integer)) .Add("Name", GetType(String)) .Add("Age", GetType(Integer)) End With For i As In…

【VB】C#との差異 (拡張メソッド 編)

■ はじめに http://blogs.yahoo.co.jp/dk521123/22569878.html で扱った拡張メソッドは、VB.NETでも書けるのでメモ。 ■ 注意 http://www.atmarkit.co.jp/fdotnet/bookpreview/kisokaravb_1102/kisokaravb_1102_01.html より抜粋 * 拡張メソッドはモジュール…

【VB】C#との差異 (継承 編)

はじめに http://dobon.net/vb/dotnet/vb2cs/vb2cstable.html が助かります。 ■ abstract * "MustInherit" "Overrides" で実装 サンプル Public MustInherit Class BaseChartModel Public Overrides Sub Xxxx() ■ interface * "Implements" で実装 サンプル …

【VB.NET】Tuple(タプル)

サンプル Public Class SampleTuple Shared Sub Main() Dim tuple1 = Tuple.Create("Mike", 42, Date.Now) Console.WriteLine(tuple1.Item1) Console.WriteLine(tuple1.Item2) Console.WriteLine(tuple1.Item3) Dim tuple2 As Tuple(Of String, Integer, Dat…

【VB】C#との差異 (ジェネリック、List、Dictionary 編)

■ 使用上の注意 Dictionary * 以下の関連記事を参照のこと。 http://blogs.yahoo.co.jp/dk521123/21978660.html ■ 宣言 / New List Dim list = New List(Of String) Dictionary Dim words As New Dictionary(Of String, String) ■ 初期化 / 値の取得 List Di…

【VB】C#との差異 (名前空間・Namespace編)

名前空間のエイリアス 構文 Imports 【エイリアス名】 = 【名前空間】 使用方法 【エイリアス名】.【クラス名など】 参考文献 http://dobon.net/vb/dotnet/vb6/importsvb.html MSDN http://msdn.microsoft.com/ja-jp/library/7f38zh8x.aspx http://msdn.micr…

【VB.NET】ストアドプロシージャの複数の結果を扱う

ストアドプロシージャの複数の結果を扱う * SqlDataAdapterクラスを使用する サンプル ストアド / SelectCompanyInfo CREATE PROCEDURE SelectCompanyInfo AS SELECT * FROM Company SELECT * FROM Brunch VB / WebForm1.aspx * GridView x 2しただけ。 VB /…

【VB.NET】【LINQ】ストアドプロシージャを呼び出す

作成デモ * 非常に参考になった! http://www.youtube.com/watch?v=mkEuex1Lx54&feature=related サンプル * 非常に簡単!! ストアド(SampleStoredProcedure) CREATE PROCEDURE SampleStoredProcedure @personAge int AS SELECT Id, Name, Address, Email, A…

【VB】 C#との差異 (Enum 編)

■ 構文 Public Enum [列挙名] [値1] ... End Enum サンプル Namespace Models Public Class PersonModel Private Property _Gender As Gender Public Property Gender As Gender Get Return Me._Gender End Get Set(ByVal value As Gender) Me._Gender = val…

【VB.NET】ファイルを組み込む

準備 [1] ファイルを右クリックし、[プロパティ]を選択 [2] プロパティの「ビルドアクション」を「埋め込まれたりソース」に変更 サンプル ' XMLファイルに保存するオブジェクトのためのクラス Public Class Class1 Public Number As Integer Public Message…

【VB】非推奨のクラス、メソッドを定義する

解決方法 Obsolete属性を使用する。 Obsolete:時代遅れの、陳腐化した 構文 [Obsolete("【メッセージ】", Boolean)] 第一引数:コンパイル時のメッセージ 第二引数:コンパイルエラー OR 警告 * true:コンパイルエラー * false:警告 参考文献 http://www.…

【VB.NET】可変長引数・ParamArray

■ 可変長引数とは? メソッドの引数を可変にする ■ 構文 Public Sub SampleMethod(ByVal ParamArray Values() As String()) 参考文献 http://blog.livedoor.jp/akf0/archives/51250084.html 関連記事 【C#】可変長引数 https://blogs.yahoo.co.jp/dk521123/2…

【VB.NET】正規表現 Regexクラス

サンプル Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button6.Click '浮動小数点数か調べる If Regex.IsMatch(Me.TextBox3.Text, "^[\-+]?[0-9]*\.?[0-9]+$") Then Me.Label1.Text = String.Format("{0}は浮動小数点数です。",…

【VB】C#との差異 (Linq・ラムダ式編)

■ ラムダ式 ラムダ式の基本構文 Function(左辺) 右辺 ラムダ式構文の左辺 Function() 右辺 ' パラメータがない場合 Function(param) 右辺 ' パラメータが1つの場合 Function(param1, param2) 右辺 ' パラメータが2つ以上の場合 ラムダ式構文の左辺 Function(…

【VB.NET】CSVの扱い

TextFieldParserクラス * CSVファイルを読み込みに使用 * .NET 2.0以降で対応 * 名前空間:Microsoft.VisualBasic.FileIOだが、C#でも使える 定義 Dim parser As New TextFieldParser("aaa.csv", _ System.Text.Encoding.GetEncoding("Shift_JIS")) 区切り文…

【VB】C#との差異 (初期化・コンストラクタ編)

■ コンストラクタ 構文:呼び先 Sub New (【パラメータ】) 【実行する文】 End Sub サンプル ' 呼び出し側 Dim person As New Person("Mike", 29) ' 呼び出し先 Sub New (ReVal name As String, ReVal age As Integer) Me.Name = name Me.Age = age End Sub …

【VB】C#との差異 (関数編)

■ 関数(プロシージャー) * メソッドを、「プロシージャー」と呼ぶ。 【1】戻り値なしの関数 * 「サブプロシージャ」と呼ぶ。 Private Sub 【メソッド名】(【引数】) ' 処理 End Sub サンプル Private Sub SayHello(name As String) MsgBox "Hello world, " &…

【VB】C#との差異 (条件分岐 - IF文 / 三項演算子 編)

■ IF文 構文 If 【条件1】 Then 「条件1が成立した場合」 ElseIf 【条件2】 Then 「条件2が成立した場合」 Else 「条件1、2が成立しなかった場合」 End If 条件判断 * 「=」 : 内容が等しい (C#でいうと「==」) * 「<>」 : 内容が等しくない (C#でいうと「!=…

【VB】C#との差異 (ループ編)

■ ループ For文 For 【初期値】 To 【終了値】 Step 【増減値】 【処理】 Next http://www.vb-dotnet.com/general5/index.html For Each文 For Each 【コレクション内の要素を格納する変数】 In 【コレクション】 【処理】 Next http://www.vb-dotnet.com/ge…

【VB】宣言の強制 (Option Explicit/Option Strict)

Option Explicit * ファイル内のすべての変数を明示的に宣言するよう強制する 【補足】 * Explicit(エクスプリシット):明確な、明白に 参考文献 http://homepage1.nifty.com/rucio/main/shokyu/jugyou3.htm Option Strict * As句による型宣言、異なる型へ…

【VB】コーディング規約

コーディング規約 * 自分の知識として、知らなかった項目、もしくは、あまり意識をしていなかった項目を記述しておく ネーミングルール メソッド コンバータメソッド名は「To + オブジェクト名」を使用 Public Enum Answer Correct Bigger Less End Enum Pub…

【VB】C#との差異 (超基本編)

VBをはじめっから勉強する場合 http://www.atmarkit.co.jp/fdotnet/vb6tonet2/index/index.html C#との文法の違い * 調べてみるとあげだしたら、きりがなかった(以下のサイト参照)ので、必要な項目だけ抜粋。 http://blogs.wankuma.com/jeanne/archive/2007/…