Left Dim S As String = "ABCDEFG" Dim S2 As String = Microsoft.VisualBasic.Left(S, 3) string S = "ABCDEFG"; string S2 = S.Substring(0,3); Right Dim S As String = "ABCDEFG" Dim S2 As String = Microsoft.VisualBasic.Right(S, 3) string S = "ABCDEFG"; string S2 = S.Substring(S.Length - 3,3); Mid Dim S As String = "ABCDEFG" Dim S2 As String = Mid(S, 3, 3) string S = "ABCDEFG"; string S2 = S.Substring(2,3); ============================ 在 VB 裡的 3, 指的是第三個字元, 而C#裡是給字串的陣列Index, 從0開始, 所以第三個字元的位置會是 Index = 2 喔~ (0,1,2) Instr Dim S As String = "ABCDEFG" Dim Pos As Integer = InStr(S, "C") string S = "ABCDEFG"; int Pos = S.IndexOf("C"); ===================== 在VB裡回傳的會是第幾個字元, 在C#裡回傳的會是字串的陣列位置, 所以 Pos 會差1喔!! InstrRev Dim S As String = "ABCDEFGABCDEFG" Dim Pos As Integer = InStrRev(S, "C") string S = "ABCDEFGABCDEFG"; int Pos = S.LastIndexOf("C"); ===================== 在VB裡回傳的會是第幾個字元, 在C#裡回傳的會是字串的陣列位置, 所以 Pos 會差1喔!! Space Dim S As String = "A" & Space(3) & "B" string S = "A" + new String(' ', 3) + "B"; Strdup Dim S As String = "A" & StrDup(3, "C") & "B" string S2 = "A" + new String('C', 3) + "B"; Replace Dim S As String = "ABCDABCD" Dim S2 As String = Replace(S, "A", "E") string S = "ABCDABCD"; string S2 = S.Replace("A", "E"); ================= Dim S As String = "ABCABCABC" Dim S2 As String = Replace(S, "A", "D", 1, 2) string S = "ABCABCABC"; StringBuilder tmpS = new StringBuilder(S); string S2 = tmpS.Replace("A", "D", 0, 2).ToString(); // 自行寫函數 // ==================================== string S = "ABCBCDBCDE"; S = Replacefun(S, "B", "", 2, 2); private string Replacefun(string Source, string Find, string Replace, int FindNum, int RePlaceNum) { string result= Source; for (int i = 0; i < RePlaceNum; i++) { result = Replacesubfun(result, Find, Replace, FindNum); } return result; } private string Replacesubfun(string Source, string Find, string Replace, int FindNum) { int StartPos = -1; for (int i = 0;i < FindNum; i++) { StartPos = Source.IndexOf(Find, StartPos + 1); } string result; if (StartPos > -1) { result = Source.Remove(StartPos, Find.Length).Insert(StartPos, Replace); } else { result = Source; } return result; } // ==================================== Choose Dim S As String = Choose(3, "A", "B", "C", "D", "E", "F") string S = new string[]{ "A", "B", "C", "D", "E", "F" }[2]; Format Dim NowStr As String = Format(DateTime.Now, "yyyy/MM/dd HH:mm:ss.ffff") string NowStr = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ffff"); Len Dim S As String = "ABCABCABC" Dim i As Integer = Len(S) string S = "ABCABCABC"; int i = S.Length; Ucase/Lcase Dim S As String = "abc" Dim S2 As String = UCase(S) Dim S3 As String = LCase(S2) string S = "abc"; string S2 = S.ToUpper(); string S3 = S2.ToLower(); StrReverse Dim S As String = "ABCDE" Dim S2 As String = StrReverse(S) string S = "ABCDE"; char[] tmpS = S.ToCharArray(); Array.Reverse(tmpS); string S2 = new string(tmpS); LTrim/RTrim/Trim Dim S As String = " ABCDE " Dim S2 As String = LTrim(S) Dim S3 As String = RTrim(S) Dim S4 As String = Trim(S) string S = " ABCDE "; string S2 = S.TrimStart(); string S3 = S.TrimEnd(); string S4 = S.Trim(); Asc Dim S As String = "A" Dim i As Integer = Asc(S) string S = "A"; int i = S[0]; Chr Dim i As Integer = 65 Dim S As String = Chr(i) int i = 65; string S = ((char)i).ToString(); Split Dim S As String = "ABCDABCD" Dim S2() As String = Split(S, "B") string S = "ABCDABCD"; string[] S2 = S.Split('B'); ================= Dim S As String = "ABCDABCD" Dim S2() As String = Split(S, "BC") using System.Text.RegularExpressions; string S = "ABCDABCD"; string[] S2 = Regex.Split(S, "BC"); LSet/Rset Dim S As String = "BCD" Dim S2 As String = LSet(S, 10) Dim S3 As String = RSet(S, 10) string S = "BCD"; string S2 = S.PadRight(10); string S3 = S.PadLeft(10); UBound Dim a(4) As String a(0) = "A" a(1) = "B" a(2) = "C" a(3) = "D" a(4) = "E" Dim i As Integer = UBound(a) string[] a = new string[5]; a[0] = "A"; a[1] = "B"; a[2] = "C"; a[3] = "D"; a[4] = "E"; int i = a.Length; =============================== 這裡附帶說明一下, 在VB裡對陣列的宣告數字 (4) 其長度是 5, 及 0~4 共五個, 但在 C# 裡的定義 [5] 所代表的就是長度5, 也是 0~4 而已喔!! Weekday Dim tmpNow As DateTime = DateTime.Now Dim i As Integer = Weekday(tmpNow) DateTime tmpNow = DateTime.Now; int i = Convert.ToInt16(tmpNow.DayOfWeek) + 1; ====================== 要注意 Weekday 函數和 DayOfWeek 會差 1 喔!! CDate Dim tmpNow As String = DateTime.Now Dim tmpNow2 As Date = CDate(tmpNow) string tmpNow = DateTime.Now.ToString(); DateTime tmpNow2 = Convert.ToDateTime(tmpNow); Int Dim i As Integer = Int(10.31) int i = (int)10.31F; Redim Dim A() As String = New String() {"A", "B", "C"} ReDim Preserve A(4) A(3) = "D" A(4) = "E" string[] A = new string[]{"A","B","C"} ; Array.Resize(ref A, 5); A[3] = "D"; A[4] = "E"; IsNumeric/IsDate/Is........ Dim x As String = "A" Dim y As String = "1" Console.WriteLine(IsNumeric(x)) Console.WriteLine(IsNumeric(y)) string x = "A"; string y = "1"; Console.WriteLine(IsNumeric(x)) ; Console.WriteLine(IsNumeric(y)); // IsNumeric 要自己寫... private bool IsNumeric(string x) { try { double tmpx = Convert.ToDouble(x); return true; } catch { return false; } } IsDate 只要把 try { } 裡的 doule 和 Convert.ToDouble 分別改成 DateTime 和 Convert.ToDateTime 即可, Is...... 以此類推...^^" DateAdd: Dim DateStart As Date = "1970/1/1" Dim tmpToday As Date = DateAdd(DateInterval.Day, 1, DateStart) Console.WriteLine(tmpToday) DateTime DateStart = Convert.ToDateTime("1970/1/1"); DateTime tmpToday = DateStart.AddDays(1); Console.WriteLine(tmpToday); DateSerial: Dim tmpDay As Date = DateSerial(2013, 12, 2) DateTime tmpDay = new DateTime(2013, 12, 2);
創作者介紹
創作者 2012.07.11 Start, 的頭像
Keep Practicing

2012.07.11 Start,

Keep Practicing 發表在 痞客邦 留言(0) 人氣( 666 )