निम्न कोड पूर्व शर्त पर विफल रहता है। क्या यह कोड अनुबंध में एक बग है?कोड अनुबंध के साथ iterators में बग?
static class Program
{
static void Main()
{
foreach (var s in Test(3))
{
Console.WriteLine(s);
}
}
static IEnumerable<int>Test (int i)
{
Contract.Requires(i > 0);
for (int j = 0; j < i; j++)
yield return j;
}
}
IteratorImpl के नियंत्रक के बजाय MoveNext पर आवश्यकता क्यों होनी चाहिए? –
@pn, यह वही है जिसने सी # टीम ने इटरेटर्स को लागू करना चुना। किसी भी कोड जो इटरेटर के शरीर में दिखाई देता है, जेनरेट कोड के MoveNext विधि में समाप्त हो जाएगा। – JaredPar
मेरा सवाल यह है कि क्या यह कोड अनुबंध में एक बग है या नहीं। ऐसा लगता है कि कोड अनुबंध फिर लेखक लेखक को समझ में नहीं आता है। –