这相当于以下经营者VB.Net C#?

  • UBound()
  • LBound()
  • IsNothing()
  • Chr()
  • Len()
  • UCase()
  • LCase()
  • 左()
  • 右()
  • RTrim()
  • LTrim()
  • Trim()
  • 中期()
  • 替换()
  • Split()
  • Join()
  • MsgBox()
  • IIF()
有帮助吗?

解决方案

VB             C#

UBound()     = yourArray.GetUpperBound(0) or yourArray.Length for one-dimesional arrays
LBound()     = yourArray.GetLowerBound(0)
IsNothing()  = Object.ReferenceEquals(obj,null)
Chr()        = Convert.ToChar()
Len()        = "string".Length
UCase()      = "string".ToUpper()
LCase()      = "string".ToLower()
Left()       = "string".Substring(0, length)
Right()      = "string".Substring("string".Length - desiredLength)
RTrim()      = "string".TrimEnd()
LTrim()      = "string".TrimStart()
Trim()       = "string".Trim()
Mid()        = "string".Substring(start, length)
Replace()    = "string".Replace()
Split()      = "string".Split()
Join()       = String.Join()
MsgBox()     = MessageBox.Show()
IIF()        = (boolean_condition ? "true" : "false")

注意到

  • yourArray.GetUpperBound(0) vs yourArray.Length:如果阵列是零的长度,GetUpperBound将返回-1,同时长将返回0。 UBound() 在VB.NET 将返回-1为零的长度阵列。
  • VB串职能,使用一个基于指数,而.净的方法使用零基础的索引。I.e。 Mid("asdf",2,2) 对应 "asdf".SubString(1,2).
  • ? 是不是完全相同的效的 IIfIIf 评估是 参数, ? 只评估一个需要。这可能会问题,如果有副作用的评价~ 不寒而栗!
  • 许多经典的VB串职能,包括 Len(), UCase(), LCase(), Right(), RTrim(), , Trim(), 将享受一个参数的 Nothing (Null c#)以相当于零长串。运行串的方法 Nothing 当然会引发一个例外。
  • 你也可以穿 Nothing 经典的VB Mid()Replace() 功能。而不是扔一个例外,这些将返回 Nothing.

其他提示

UBound()  "array".Length
LBound()
IsNothing(): "object" == null
Chr()     (char)"N"
Len()     "string".Length
UCase()   "string".ToUpper()
LCase()   "string".ToLower()
Left()    "string".Substring(from, to)
Right()   "string".Substring(from, to)
RTrim()   "string".TrimEnd()
LTrim()   "string".TrimStart()
Trim()    "string".Trim()
Mid()     "string".Substring(from, to)
Replace() "string".Replace()
Split()   "string".Split()
Join()    String.Join()
MsgBox()  MessageBox.Show()
IIF()     validate ? iftrue : iffalse;

所有这些功能部件的方法的 Microsoft.VisualBasic.Information 类的 Microsoft.VisualBasic 会的,所以你可以用它们直接。然而,他们大多数都C#当量,或无特定语言等同的核心。净框架类:

  • UBound(): Array.GetUpperBound
  • LBound(): Array.GetLowerBound
  • IsNothing(): == null
  • Chr(): (char)intValue (演员)
  • Len(): String.Length
  • UCase(): String.ToUpper
  • LCase(): String.ToLower
  • 左(),右()、中期(): String.Substring (用不同的参数)
  • RTrim(): String.TrimEnd
  • LTrim(): String.TrimStart
  • Trim(): String.Trim
  • 替换(): String.Replace
  • Split(): String.Split
  • Join(): String.Join
  • MsgBox(): MessageBox.Show
  • IIF(): condition ? valueIfTrue : valueIfFalse (有条件的操作者)

链接

大多数的这些会以实例的方法上串的对象返回修改弦。

MsgBox vs. MessageBox.Show(..)
IIF vs. (expression?returnValueIfTrue:returnValueElse)

IIf(test, trueval, falseval) >> (test ? trueval : falseval);

IsNothing(obj) >> (obj == null);

UCase(str) >> str.ToUpper();

LCase(str) >> str.ToLower();

首先,大多数的这些都不是经营者。他们的功能,该功能仅包含在VB.Net 兼容性原因。这意味着你不应该使用它们VB.net 无论,而不是使用当量提供新的API。

  • UBound()arrayVar.Length
  • LBound() —已经过时,下限为 总是 0在一个正常的。净阵列
  • IsNothing() —已经过时。使用 Is Nothing 在VB.Net 和 == null C#
  • Chr()Convert.ToChar()(char)someVar
  • Len()stringVar.Length 使用这VB太
  • UCase()stringVar.ToUpper() 使用这VB太
  • LCase()stringVar.ToLower() 使用这VB太
  • 左()stringVar.Substring(0, n) 使用这VB太
  • 右()stringVar.Substring(stringVar.Length - n) 使用这VB太
  • RTrim()stringVar.TrimEnd() 使用这VB太
  • LTrim()stringVar.TrimStart() 使用这VB太
  • Trim()stringVar.Trim() 使用这VB太
  • 中期()stringVar.Substring(n, m) 使用这VB太
  • 替换()stringVar.Replace() 使用这VB太
  • Split()stringVar.Split() 使用这VB太
  • Join()String.Join() 使用这VB太
  • MsgBox()MessageBox.Show()
  • IIF()(condition) ? truepart : falsepart -注意到,存在一些差异,因为"?"是一个操作员并不是一个功能

你会发现转化为许多这些职能的 这个维基百科的网页.

我相信有些像 Mid() 仍然可用。净框架Microsoft。Basic名字空间,你仍然可以参考从C#代码。

另一个...

VB-IsDBNull(value)

C#-yourdatarow.函数("列名")

如果你看起来MSDN上你看到的大部分时间里都是样品代码为这两种语言。

  • UBound()->如果x是一系列的串[]例如:x.GetUpperBound();
  • LBound()->如果x是一系列的串[]例如:x.GetLowerBound();
  • IsNothing()->如果(x==null)
  • Chr()->char x=(char)65;
  • Len()->x。长();
  • UCase()->假设x is a string:x.大写();
  • LCase()->假设x is a string:x.ToLower();
  • 左()->假设x is a string:x.Substring(0,10);//第10字符
  • 右()->假设x is a string:x.Substring(x。长-10);//过去10字符
  • RTrim()->x。TrimEnd();
  • LTrim()->x。TrimStart();
  • Trim()->x。Trim();
  • 中期()->假设x is a string:x.Substring()
  • 替换()->假设x is a string:x.替换();
  • Split()->假设x is a string:x.Split();
  • Join()->串。Join();
  • MsgBox()->消息框.显示();
  • IIF()->三操作员(x==true?真正的价值:假值);

一个更加外向这可能是 个() 功能找到的字符串串

一个例子下面...

string MainString = "String Manipulation"; 
string SearchString = "pul"; 
int FirstChr = MainString.IndexOf(SearchString); 
//SHOWS START POSITION OF STRING 
MessageBox.Show("Found at : " + FirstChr );

除了答案,同上。要小心用替代Len()->x。长度。VB Len()允许通过空,但在c#你会得到一个例外。有时,它将更好地使用String.IsNullrEmpty()(如果情况允许)

空间功能缺少别人的名单:

Space(16) -> new String(" ", 16)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top