एक Winform फीका करने के लिए कोड की खोज करते समय, मैं MSDN मंच पर इस page पर आया।बेहतर एल्गोरिदम एक Winform
for (double i = 0; i < 1; i+=0.01)
{
this.Opacity = i;
Application.DoEvents();
System.Threading.Thread.Sleep(0);
}
for
पाश एक गैर पूर्णांक वेतन वृद्धि होती है और जो पिछले एक सवाल मैंने पूछा से, कि नहीं एक अच्छा प्रोग्रामिंग तकनीक (सबसे दशमलव की अयथार्थ प्रतिनिधित्व के कारण) है।
मैं इस विकल्प के साथ आया था।
for (double i = 0; i < 100; ++i)
{
this.Opacity = i/100;
Application.DoEvents();
System.Threading.Thread.Sleep(0);
}
इनमें से कौन सा अधिक कुशल है?
यदि किसी फॉर्म को लुप्त करने के लिए बेहतर एल्गोरिदम है, तो इसमें शामिल होने पर मुझे बहुत खुशी होगी।
धन्यवाद। चल बिन्दु डिवीजनों की संख्या के रूप में अधिक मशीन महंगा चल बिन्दु जोड़ (VM-झंडे को प्रभावित नहीं करते हैं) की तुलना कर रहे हैं
@DarrenDavies 'स्लीप (0)' नियोजक को धागा के शेष समय वापस जाने के लिए अन्य धागा चलाने के लिए एक मौका देने के लिए किया गया था: आप यहाँ एक बार देख ले सकते हैं। शायद .NET पर यह वही है। [एमएसडीएन राज्य] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms686298 (v = vs.85) .aspx): "_ अगर आप 0 मिलीसेकंड निर्दिष्ट करते हैं, तो थ्रेड शेष को छोड़ देगा इसके समय का टुकड़ा लेकिन तैयार रहें ._ " –
'int' को' double' में बदलने के बारे में कैसे? –
एक vb.net सिंगल सी # में "फ्लोट" है, int नहीं। –