TDictionary - अवैध कुंजी

वोट
1

मैं इस तरह कोड है:

type
  TMyDictionary = TDictionary<int, int>;

var
  myDict: TMyDictionary;
  k, v: integer;

  // code to fill the dictionary

  for k in myDict.Keys do
  begin
     v := myDict.Items[k];

     // other stuff
  end;

बेतरतीब ढंग से मैं एक अपवाद पर फेंक दिया देख 'वी: = myDict.Items [k],' जो कहते हैं कश्मीर अमान्य है।

किसी और इस को देखा है?

12/03/2009 को 16:42
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
1

TDictionary के खिलाफ और प्रगणक का समर्थन करता है कि के लिए ... में ... निर्माण विशेष रूप से उठाया कीड़े की एक संख्या CodeCentral को देखते हुए मैं देख रहा हूँ।

20/03/2009 को 15:56
का स्रोत उपयोगकर्ता

वोट
1

आप संशोधित कर रहे हैं myDictअनुभाग के अंदर लेबल // other stuff?

12/03/2009 को 16:49
का स्रोत उपयोगकर्ता

वोट
0

केवल स्थानीय चर के साथ एक ही विधि में इस समस्या को पुन: पेश करने की कोशिश करो।

यह हो सकता है आपके 2 अलग धागे से चर का उपयोग कर, या शायद अपने myDict में तत्वों को अद्यतन करने कि।

मैं इसे और अधिक प्रजनन के बारे में मेरा उत्तर समझाने की कोशिश करेंगे:

आप एक तरीका है जिसके किसी अन्य कंप्यूटर पर चलाने के लिए और त्रुटि आपको मिलने वाला दिखा सकता है बनाना चाहिए।

उदाहरण के लिए (प्रश्न: मैं शून्य अपवाद द्वारा विभाजन हो रही है):

var
   i : integer;
begin
   i := 3;
   while (i <= 0) do
   begin
     Writeln(FloatToStr(20/i));
     Dec(i);
   end;
end

यदि आप एक कंप्यूटर पर इस चलाते हैं, तो लोगों को शून्य अपवाद द्वारा विभाजित हो जाएगा। इसलिए मैं समस्या पुन: पेश करने में सक्षम था। समस्या अपने होने के लिए एक सुसंगत तरीके से पुन: पेश करने के लिए संभव के रूप में सरल एक टुकड़ा बनाने का प्रयास करें।

12/03/2009 को 16:53
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more