문제

VB.NET에서 C#까지 다음 연산자와 동일합니까?

  • ubound ()
  • lbound ()
  • 아무것도 아니다()
  • chr ()
  • 렌 ()
  • ucase ()
  • lcase ()
  • 왼쪽()
  • 오른쪽()
  • rtrim ()
  • ltrim ()
  • 손질()
  • 중간 ()
  • 바꾸다()
  • 나뉘다()
  • 가입하다()
  • 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 문자열 함수는 하나의 기반 인덱스를 사용하는 반면 .NET 메소드는 0 기반 인덱스를 사용합니다. 즉 Mid("asdf",2,2) 대응합니다 "asdf".SubString(1,2).
  • ? 정확한 동등한 것은 아닙니다 IIf 왜냐하면 IIf 항상 평가합니다 둘 다 논쟁, 그리고 ? 필요한 것만 평가합니다. 평가의 부작용이 있으면 중요 할 수 있습니다 ~ 전율!
  • 많은 고전적인 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 어셈블리, 따라서 직접 사용할 수 있습니다. 그러나 대부분의 경우 Core .NET Framework 클래스에 C# 동등한 또는 비 언어 별 동등성이 있습니다.

  • ubound () : Array.GetUpperBound
  • lbound () : Array.GetLowerBound
  • 아무것도 아니다() : == null
  • chr () : (char)intValue (깁스)
  • len () : String.Length
  • ucase () : String.ToUpper
  • lcase () : String.ToLower
  • 왼쪽 (), 오른쪽 () 및 mid () : String.Substring (다른 논쟁과 함께)
  • rtrim () : String.TrimEnd
  • ltrim () : String.TrimStart
  • trim () : String.Trim
  • 바꾸다() : String.Replace
  • 나뉘다() : String.Split
  • 가입하다() : 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 () - 쓸모없고, 하한은입니다 언제나 일반 .NET 배열에서 0
  • 아무것도 아니다() - 쓸모 없음. 사용 Is Nothing vb.net에서 == null C#에서
  • chr ()Convert.ToChar() 또는 (char)someVar
  • 렌 ()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에서도 사용하십시오
  • 손질()stringVar.Trim() 이것을 VB에서도 사용하십시오
  • 중간 ()stringVar.Substring(n, m) 이것을 VB에서도 사용하십시오
  • 바꾸다()stringVar.Replace() 이것을 VB에서도 사용하십시오
  • 나뉘다()stringVar.Split() 이것을 VB에서도 사용하십시오
  • 가입하다()String.Join() 이것을 VB에서도 사용하십시오
  • msgbox ()MessageBox.Show()
  • iif ()(condition) ? truepart : falsepart - "?"이기 때문에 몇 가지 차이점이 있습니다. 기능이 아닌 연산자입니다

이러한 많은 기능에 대한 변환을 찾을 수 있습니다. 이 위키 백과 페이지.

나는 이것들 중 일부가 좋아한다고 믿는다 Mid() C# 코드에서 여전히 참조 할 수있는 Microsoft.visualBasic 네임 스페이스의 .NET 프레임 워크에서 여전히 사용할 수 있습니다.

다른 것...

vb -isdbnull (value)

C# - YourDatarow.isnull ( "columnName")

MSDN을 보면 대부분의 경우 두 언어 모두에 대한 샘플 코드가 있음을 알 수 있습니다.

  • ubound () -> x가 문자열 배열 [] 인 경우 : x.getupperbound ();
  • lbound () -> x가 문자열 배열 인 경우 [] 예 : x.getLowerBound ();
  • isnothing () -> if (x == null)
  • chr () -> char x = (char) 65;
  • len () -> x.length ();
  • ucase () -> 가정 x는 문자열입니다 : x.toupper ();
  • lcase () -> 가정 x는 문자열입니다 : x.tolower ();
  • left () -> 가정 x는 문자열이라고 가정합니다 : x.substring (0, 10); // 처음 10 자
  • right () -> 가정 x는 문자열이라고 가정합니다 : x.substring (x.length -10); // 마지막 10 자
  • rtrim () -> x.trimend ();
  • ltrim () -> x.trimstart ();
  • trim () -> x.trim ();
  • mid () -> 가정 x는 문자열입니다 : x.substring ()
  • 대체 () -> 가정 x는 문자열입니다 : x.replace ();
  • split () -> 가정 x는 문자열입니다 : x.split ();
  • join () -> string.join ();
  • msgbox () -> messagebox.show ();
  • iif ()-> Ternary 연산자 (x == true? true-value : false-value);

이것에 추가 할 수 있습니다 indexof () 함수 문자열 내에서 문자열을 찾습니다

아래의 예 ...

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

위의 답변 외에도. len () -> x.length를 교체하여 조심하십시오. VB len ()을 사용하면 NULL을 통과 할 수 있지만 C#에서는 예외가 발생합니다. 때로는 string.isnullRempty ()를 사용하는 것이 더 낫습니다 (상황에서 허용되는 경우)

다른 사람의 목록에서 공간 함수가 누락되었습니다.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top