मैं किसी प्रोजेक्ट को 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
यह लूप होने पर हर बार प्रारंभिक स्ट्रिंग मान को बदल देता है। ऐसा क्यों है?