আমি যোগাযোগের ডেটা সহ এক্সচেঞ্জ ওয়েব পরিষেবাদি পরিচালিত এপিআইয়ের সাথে কাজ করছি। আমার কাছে নিম্নলিখিত কোড রয়েছে যা কার্যকরী তবে আদর্শ নয়:
foreach (Contact c in contactList)
{
string openItemUrl = "https://" + service.Url.Host + "/owa/" + c.WebClientReadFormQueryString;
row = table.NewRow();
row["FileAs"] = c.FileAs;
row["GivenName"] = c.GivenName;
row["Surname"] = c.Surname;
row["CompanyName"] = c.CompanyName;
row["Link"] = openItemUrl;
//home address
try { row["HomeStreet"] = c.PhysicalAddresses[PhysicalAddressKey.Home].Street.ToString(); }
catch (Exception e) { }
try { row["HomeCity"] = c.PhysicalAddresses[PhysicalAddressKey.Home].City.ToString(); }
catch (Exception e) { }
try { row["HomeState"] = c.PhysicalAddresses[PhysicalAddressKey.Home].State.ToString(); }
catch (Exception e) { }
try { row["HomeZip"] = c.PhysicalAddresses[PhysicalAddressKey.Home].PostalCode.ToString(); }
catch (Exception e) { }
try { row["HomeCountry"] = c.PhysicalAddresses[PhysicalAddressKey.Home].CountryOrRegion.ToString(); }
catch (Exception e) { }
//and so on for all kinds of other contact-related fields...
}
আমি যেমন বলেছি, এই কোডটি কাজ করে । এখন আমি যদি এটি সম্ভব হয় তবে কিছুটা কম স্তন্যপান করতে চাই ।
অভিধানে অ্যাক্সেস করার চেষ্টা করার আগে আমি কীটির কোনও অস্তিত্ব যাচাই করার অনুমতি দিয়েছি এবং আমি যদি এটি সহ পড়ার চেষ্টা করি (সাথে .ToString()
) এবং এটি উপস্থিত না থাকে তবে একটি ব্যতিক্রম ছুঁড়ে দেওয়া হয়:
500
প্রদত্ত কী অভিধানে উপস্থিত ছিল না।
আমি কীভাবে এই কোডটি কম স্তন্যপান করতে পুনরায় চুলক করতে পারি (এখনও কার্যক্ষম থাকা অবস্থায়)?
TryGetValue
পদ্ধতির মত সেরা বাজি হতে পারে, যেহেতু আমি এই পৃষ্ঠাটি পাওয়া বলে মনে হয়: goo.gl/7YN6 ... কিন্তু আমি নিশ্চিত এটি কিভাবে ব্যবহার করতে নই। উপরের আমার কোডে,row
একটি 'ডাটাআউজ অবজেক্ট', সুতরাং আমি নিশ্চিত নই যে আপনার উদাহরণ কোডটি ঠিক আছে, যদিও ...