Visual Basic에서 C #으로 프로젝트를 마이그레이션하는 for
중이며 사용중인 루프가 선언되는 방식을 변경해야했습니다 .
VB.NET에서 for
루프는 다음과 같이 선언됩니다.
Dim stringValue As String = "42"
For i As Integer = 1 To 10 - stringValue.Length
stringValue = stringValue & " " & CStr(i)
Console.WriteLine(stringValue)
Next
출력되는 내용 :
42 1
42 1 2
42 1 2 3
42 1 2 3 4
42 1 2 3 4 5
42 1 2 3 4 5 6
42 1 2 3 4 5 6 7
42 1 2 3 4 5 6 7 8
C #에서 for
루프는 다음과 같이 선언됩니다.
string stringValue = "42";
for (int i = 1; i <= 10 - stringValue.Length; i ++)
{
stringValue = stringValue + " " + i.ToString();
Console.WriteLine(stringValue);
}
그리고 출력 :
42 1
42 1 2
42 1 2 3
이것은 분명히 정확하지 않으므로 코드를 약간 변경하고 문자열 길이를 유지하는 정수 변수를 포함해야했습니다.
아래 코드를 참조하십시오.
string stringValue = "42";
int stringValueLength = stringValue.Length;
for (int i = 1; i <= 10 - stringValueLength; i ++)
{
stringValue = stringValue + " " + i.ToString();
Console.WriteLine(stringValue);
}
그리고 출력 :
42 1
42 1 2
42 1 2 3
42 1 2 3 4
42 1 2 3 4 5
42 1 2 3 4 5 6
42 1 2 3 4 5 6 7
42 1 2 3 4 5 6 7 8
이제 내 질문 은 루프가 발생할 때마다 문자열의 길이가 변경 되더라도 루프 의 stringValue.Length
조건을 사용하여 Visual Basic 측면에서 Visual Basic이 C #과 어떻게 다른지에 대해 해결합니다 for
. 반면 C # stringValue.Length
에서는 for
루프 조건 에서 사용 하면 루프가 발생할 때마다 초기 문자열 값이 변경됩니다. 왜 이런거야?