VS 2015より追加されてる
自前で用意しなくても良くなってたらしい
VB.NET Byte配列を文字列に変換する
UNICODE
Private Function UnicodeBytesToString( ByVal bytes() As Byte) As String Return System.Text.Encoding.Unicode.GetString(bytes) End Function
シフトJIS(SJIS)
Private Function SJISBytesToString(ByVal bytes() As Byte) As String System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance) Return System.Text.Encoding.GetEncoding("Shift_JIS").GetString(bytes) End Function
.NETでシフトJISのEncoding取ろうとしてエラーになるのは Coreだから
ASCIIとUnicode以外のエンコーディングがサポートされなくなった。
シフトJISのEncodingを取得するには、「Encoding.GetEncoding("Shift_JIS")」を呼び出す前に、次の1行を追加すればOK
C#
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
VB.net
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance)
C#でIsNumericの代用
doubleに変換できるかで判断
string str = "-12.34"; //doubleに変換できるか確かめる double d; if (double.TryParse(str, out d)) { //変換出来たら、dにその数値が入る Console.WriteLine("{0} は数値 {1} に変換できます。", str, d); } else { Console.WriteLine("{0} は数字ではありません。", str); } //.NET Framework 1.1以前では、以下のようにする //if (double.TryParse(str, // System.Globalization.NumberStyles.Float | // System.Globalization.NumberStyles.AllowThousands, // System.Globalization.NumberFormatInfo.CurrentInfo, // out d))
C#でMid、Left、Right関数
/// <summary> /// 文字列の指定した位置から指定した長さを取得する /// </summary> /// <param name="str">文字列</param> /// <param name="start">開始位置</param> /// <param name="len">長さ</param> /// <returns>取得した文字列</returns> public static string Mid(string str, int start, int len) { if (start <= 0) { throw new ArgumentException("引数'start'は1以上でなければなりません。"); } if (len < 0) { throw new ArgumentException("引数'len'は0以上でなければなりません。"); } if (str == null || str.Length < start) { return ""; } if (str.Length < (start + len)) { return str.Substring(start - 1); } return str.Substring(start - 1, len); } /// <summary> /// 文字列の指定した位置から末尾までを取得する /// </summary> /// <param name="str">文字列</param> /// <param name="start">開始位置</param> /// <returns>取得した文字列</returns> public static string Mid(string str, int start) { return Mid(str, start, str.Length); } /// <summary> /// 文字列の先頭から指定した長さの文字列を取得する /// </summary> /// <param name="str">文字列</param> /// <param name="len">長さ</param> /// <returns>取得した文字列</returns> public static string Left(string str, int len) { if (len < 0) { throw new ArgumentException("引数'len'は0以上でなければなりません。"); } if (str == null) { return ""; } if (str.Length <= len) { return str; } return str.Substring(0, len); } /// <summary> /// 文字列の末尾から指定した長さの文字列を取得する /// </summary> /// <param name="str">文字列</param> /// <param name="len">長さ</param> /// <returns>取得した文字列</returns> public static string Right(string str, int len) { if (len < 0) { throw new ArgumentException("引数'len'は0以上でなければなりません。"); } if (str == null) { return ""; } if (str.Length <= len) { return str; } return str.Substring(str.Length - len, len); }
C#コンソールアプリでDoEventの代わり
Thread.Sleep(mls);
vb.netでCreateObject("MSXML2.XMLHTTP")したのをC#でやる方法
こんな感じ
// COM参照でMicrosoft XMLv6.0 追加すること MSXML2.XMLHTTP60 http = new MSXML2.XMLHTTP60(); http.open("GET", URL, false); http.send();
C#でReDim Preserveの代わり
//要素数5の配列 int[] intArray = { 0, 1, 2, 3, 4 }; //要素数を10に増やす Array.Resize(ref intArray, 10);
ネタ元
VB.NET、C#変換表
VB.netからの移植のおともに
dobon.net
livedoorブログにてCloudflareを使ってる人がHTTPS化する方法
Your SSL/TLS encryption mode を Flexible にする
Edge Certificatesで Always Use HTTPSをONにする