मैं किसी प्रोजेक्ट को 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में भिन्नता का उपयोग करते हुए forहर बार लूप कैसे बदल जाता है, जबकि हर बार लूप में स्ट्रिंग में परिवर्तन होता है। जबकि C # में अगर मैं लूप की स्थिति stringValue.Lengthमें उपयोग करता हूं तो forयह लूप होने पर हर बार प्रारंभिक स्ट्रिंग मान को बदल देता है। ऐसा क्यों है?