উত্তর:
array.Contains("str", StringComparer.OrdinalIgnoreCase);
বা নির্দিষ্ট পরিস্থিতিতে উপর নির্ভর করে আপনি পছন্দ করতে পারেন:
array.Contains("str", StringComparer.CurrentCultureIgnoreCase);
array.Contains("str", StringComparer.InvariantCultureIgnoreCase);
InvariantCulture। উপরোক্ত তিনটি পছন্দের যে কোনওটির ব্যবহার পরিস্থিতি নির্ভর করে। আমি আপনার পুনর্নির্মাণে আপত্তি করি না, তবে আমি "সম্ভবত না" মন্তব্যটি সরিয়ে দিচ্ছি। এটি ইতিমধ্যে উত্তরে পরিষ্কার হয়ে গেছে যে আপনার বর্তমান পরিস্থিতিতে আপনার জন্য কাজ করে এমন একটি বাছাই করা উচিত।
আমার পক্ষের কিছু গুরুত্বপূর্ণ নোট, বা কমপক্ষে কিছু বিতরণ করা তথ্য এক জায়গায় রেখে দেওয়া- উপরে স্ট্রিংকম্পার দিয়ে টিপ সম্পর্কিত মত:
if (array.Contains("str", StringComparer.OrdinalIgnoreCase))
{}
array.Contains() একটি লিনকিউ এক্সটেনশন পদ্ধতি এবং অতএব প্রয়োজন অনুসারে কেবল নেট নেট ৩.৫ বা তার চেয়ে বেশি স্ট্যান্ডার্ড অনুসারে কাজ করে:
using System;
using System.Linq;
তবে: .NET 2.0 এ সহজ Contains()পদ্ধতি (ক্ষেত্রে সংবেদনশীলতা বিবেচনায় না নিয়ে) কমপক্ষে একটি কাস্ট সহ এটি সম্ভব:
if ( ((IList<string>)mydotNet2Array).Contains(“str”) )
{}
যেহেতু কনটেনস () পদ্ধতিটি আইলিস্ট ইন্টারফেসের অংশ, এটি কেবল অ্যারে দিয়েই নয়, তালিকাগুলি ইত্যাদির সাহায্যেও কাজ করে works
অ্যাকাউন্টে কেস-সংবেদনশীলতা গ্রহণ করে এমন একটি কাস্টম আইকুয়ালিটি কম্পিউটারের প্রয়োগ করুন ।
উপরন্তু, চেক এই বাইরে। তাহলে (তত্ত্বের ভিত্তিতে) আপনাকে যা করতে হবে তা হ'ল:
myArray.Contains("abc", ProjectionEqualityComparer<string>.Create(a => a.ToLower()))
new[] { "ABC" }.Select(e => e.ToLower()).Contains("abc") // returns true
CurrentCulture), আপনারOrdinalপরিবর্তে ব্যবহার করা উচিতInvariantCulture।