ইনস্ট্যান্টেশনে সি # অভিধানে কীভাবে মান সন্নিবেশ করা যায়?


149

আমি যখন এটি তৈরি করি তখন আমি কোনও সি # অভিধানে মান সন্নিবেশ করতে পারি এমন কোনও উপায় আছে কি কেউ জানেন? এর dict.Add(int, "string")মতো আরও কিছু দক্ষ কিছু থাকলে প্রতিটি আইটেমের জন্য আমি করতে পারি, তবে চাই না:

Dictionary<int, string>(){(0, "string"),(1,"string2"),(2,"string3")};

উত্তর:


199

এটি করার জন্য এখানে পুরো পৃষ্ঠা রয়েছে:

http://msdn.microsoft.com/en-us/library/bb531208.aspx

উদাহরণ:

নিম্নলিখিত কোড উদাহরণে, একটি Dictionary<TKey, TValue>টাইপের উদাহরণ দিয়ে শুরু করা হয় StudentName:

var students = new Dictionary<int, StudentName>()
{
    { 111, new StudentName {FirstName="Sachin", LastName="Karnik", ID=211}},
    { 112, new StudentName {FirstName="Dina", LastName="Salimzianova", ID=317}},
    { 113, new StudentName {FirstName="Andy", LastName="Ruth", ID=198}}
};

3
এটি কেবল নেট নেট 3.5 সংকলকটিতে কাজ করে ... তবে এটি কেবল মনে রাখবেন।
অ্যাড্রিয়ান গডং

@ kd7iwp - কোনও সমস্যা নেই, এই সাইটের ক্রিয়াকলাপের অংশটি যাতে বিকল্প অনুসন্ধানের পদগুলি কোনও কার্যকর কিছুতে যেতে পারে।
ড্যানিয়েল আর্উইকার

হ্যাঁ, এটি মাইক্রোসফ্টের সাথে অনেকটাই দেওয়া। তারা বছরের পর বছর ধরে পিছিয়ে-সামঞ্জস্যের জন্য বেশ প্রতিশ্রুতিবদ্ধ ছিল।
PRMan



10

আপনি অন্য যে কোন মূলনামযুক্ত বস্তু থেকে কোনও মূল মান জোড়া সন্নিবেশ করতে লাম্বদা এক্সপ্রেশনও ব্যবহার করতে পারেন। কী এবং মান যে কোনও ধরণের আপনি চান হতে পারে।

Dictionary<int, string> newDictionary = 
                 SomeList.ToDictionary(k => k.ID, v => v.Name);

আপনি .NET- এ সর্বত্র আইনিম্যুয়াল অবজেক্টগুলি ব্যবহার করার পর থেকে আমি এটি অনেক সহজ find

আশা করি এইটি কাজ করবে!!!

বাচ্চা।


7

আপনি একটি অভিধান ইনস্ট্যান্টিয়েট করতে এবং এটিতে আইটেমগুলি যুক্ত করতে পারেন:

var dictionary = new Dictionary<int, string>
    {
        {0, "string"},
        {1, "string2"},
        {2, "string3"}
    };

7

ঠিক তাই আপনি সি # 6 হিসাবে জানেন এখন আপনি এটি নিম্নলিখিত হিসাবে আরম্ভ করতে পারেন

var students = new Dictionary<int, StudentName>()
{
    [111] = new StudentName {FirstName="Sachin", LastName="Karnik", ID=211},
    [112] = new StudentName {FirstName="Dina", LastName="Salimzianova", ID=317},
    [113] = new StudentName {FirstName="Andy", LastName="Ruth", ID=198}
};

অনেক ক্লিনার :)


-1

আশা করি এটি পুরোপুরি কার্যকর হবে।

Dictionary<string, double> D =new Dictionary<string, double>(); D.Add("String", 17.00);


হাই, তাই আপনাকে স্বাগতম! যে ব্যক্তি এই প্রশ্নটি মূলত জিজ্ঞাসা করেছিলেন তিনি বিশেষভাবে বলেছিলেন যে তারা .Add(int, "string")কোনও অভিধানে মান যুক্ত করার পদ্ধতিটি করতে চান না । দুঃখিত তবে এটি প্রশ্নের উত্তর দেয় না।
কেজ 101

-2

এটি সাধারণত সুপারিশ করা হয় না তবে অনিশ্চিত সংকটগুলির সময়ে আপনি ব্যবহার করতে পারেন

Dictionary<string, object> jsonMock = new Dictionary<string, object>() { { "object a", objA }, { "object b", objB } };

// example of unserializing
ClassForObjectA anotherObjA = null;
if(jsonMock.Contains("object a")) {
    anotherObjA = (ClassForObjA)jsonMock["object a"];
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.