2009-09-25 2 views
10

मुझे नीचे दिए गए मेरे कोड में बिंदु i ++ पर विजुअल स्टूडियो में "पहुंचने योग्य कोड का पता चला" संदेश मिल रहा है। क्या आप स्पॉट कर सकते हैं जो मैंने गलत किया है?सी # पहुंचने योग्य कोड का पता चला

try 
{ 
    RegistryKey OurKey = Registry.CurrentUser; 
    OurKey.CreateSubKey("Software\\Resources\\Shared"); 
    OurKey = OurKey.OpenSubKey("Software\\Resources\\Shared", true); 
    for (int i = 0; i < cmbPaths.Items.Count; i++) //<---- problem with i 
    { 
     OurKey.SetValue("paths" + i, cmbPaths.Items[i]); 
     break; 
    } 
} 

उत्तर

24

समस्या यह है कि यह वास्तव में एक लूप नहीं है। ताकि आप समतुल्य रूप की तरह

if(cmbPath.Items.Count > 0) 
{ 
    OurKey.SetValue("paths" + 0, cmbPaths.Items[0]); 
} 

वैकल्पिक रूप से कुछ आप की तरह

for (int i = 0; i < cmbPaths.Items.Count; i++) 
{ 
    OurKey.SetValue("paths" + i, cmbPaths.Items[i]); 

    if(someConditionHolds) 
     break; 
} 
+0

बहुत धन्यवाद जूरी। – Jamie

11

आप पहली पुनरावृत्ति के अंत से पहले लूप से बाहर हो रहे हैं।

+0

धन्यवाद, क्या आप मुझे दिखा सकते हैं कि मैं इसे कैसे लिखूं? – Jamie

+0

बस इसे दिखाया। – Juri

+0

बस उस लाइन को हटाएं जो 'ब्रेक' कहता है; – wefwfwefwe

3

समस्या कुछ के साथ दूर करने के लिए है लिख सकता है आप को तोड़ने पर किसी भी हालत नहीं है कि क्योंकि पाश में आप break; साथ इसे और कुछ करने का कोई मौका नहीं, i (i++) की वृद्धि कभी नहीं पहुंच जाएगी।

0

हालांकि आपकी समस्या हल हो गई है, मुझे आपको यह बताना होगा, आप अपने उद्देश्य के लिए CreateSubKey() विधि का उपयोग कर सकते हैं। मुझे लगता है कि यह एक बेहतर विकल्प है। :)

//Creates a new subkey or opens an existing subkey for write access. 
var ourKey = Registry.CurrentUser.CreateSubKey("Software\\Resources\\Shared"); 
0

अगर आपको उदाहरण इकाई की रूपरेखा के लिए कहते हैं कि का उपयोग नहीं पहुंचा जा सकता कोड हो रही अंत कर सकते हैं और आपको लगता है कि परियोजना के लिए कि संदर्भ में नहीं जोड़ा।

, एक डोमेन क्लासेस, तो आप परीक्षण या जो कुछ भी के लिए एक सांत्वना ऐप बनाने आपको डेटा स्तर परियोजना की तरह कई परियोजनाओं हैं और आप संदर्भ जहाँ आपके dbcontext पर है, लेकिन nuget कहना और में जोड़ने अगर आप का उपयोग नहीं करते ईएफ, आपको एक लूप आदि लिखने की कोशिश करते समय कोड पहुंच योग्य नहीं होगा ...