c# - করব - সফটওয়্যার আপডেট




সি#অভিধানে সংরক্ষিত সংস্করণটি কিভাবে আপডেট করবেন? (4)

LINQ ব্যবহার করুন: কী জন্য অভিধান অ্যাক্সেস এবং মান পরিবর্তন

Dictionary<string, int> dict = new Dictionary<string, int>();
dict = dict.ToDictionary(kvp => kvp.Key, kvp => kvp.Value + 1);

একটি অভিধান Dictionary<string, int> একটি নির্দিষ্ট কী জন্য মান আপডেট করতে হবে?


আপনি এই পদ্ধতি অনুসরণ করতে পারেন:

void addOrUpdate(Dictionary<int, int> dic, int key, int newValue)
{
    int val;
    if (dic.TryGetValue(key, out val))
    {
        // yay, value exists!
        dic[key] = val + newValue;
    }
    else
    {
        // darn, lets add the value
        dic.Add(key, newValue);
    }
}

আপনি এখানে যে প্রান্তটি পেয়েছেন তা হল আপনি অভিধানে মাত্র 1 অ্যাক্সেসের মধ্যে সংশ্লিষ্ট কীটির মান পরীক্ষা করে দেখুন। যদি আপনি বিদ্যমান তথ্য পরীক্ষা করে dic[key] = val + newValue; ব্যবহার করে মান আপডেট করতে ContainsKey ব্যবহার করেন dic[key] = val + newValue; তারপর আপনি দুইবার অভিধান অ্যাক্সেস করছেন।


এটি আপনার জন্য কাজ করতে পারে:

দৃশ্য 1: আদিম ধরনের

string keyToMatchInDict = "x";
int newValToAdd = 1;
Dictionary<string,int> dictToUpdate = new Dictionary<string,int>{"x",1};

if(!dictToUpdate.ContainsKey(keyToMatchInDict))
   dictToUpdate.Add(keyToMatchInDict ,newValToAdd );
else
   dictToUpdate.Where(kvp=>kvp.Key==keyToMatchInDict).FirstOrDefault().Value ==newValToAdd; //or you can do operations such as ...Value+=newValToAdd;

দৃশ্যকল্প ২: আমি যে পদ্ধতিটি তালিকা হিসাবে মূল্যের জন্য ব্যবহার করেছি

int keyToMatch = 1;
AnyObject objInValueListToAdd = new AnyObject("something for the Ctor")
Dictionary<int,List<AnyObject> dictToUpdate = new Dictionary<int,List<AnyObject>(); //imagine this dict got initialized before with valid Keys and Values...

if(!dictToUpdate.ContainsKey(keyToMatch))
   dictToUpdate.Add(keyToMatch,new List<AnyObject>{objInValueListToAdd});
else
   dictToUpdate.Where(kvp=>kvp.Key==keyToMatch).FirstOrDefault().Value.Add(objInValueListToAdd);

সাহায্য প্রয়োজন কেউ জন্য এটি দরকারী আশা করি।


প্রদত্ত কী এ অভিধানটি নির্দেশ করুন এবং একটি নতুন মান বরাদ্দ করুন:

myDictionary[myKey] = myNewValue;




dictionary