আপনি যখন একটি স্পষ্ট পরিসীমা পরিবর্তনশীল প্রকারটি নির্দিষ্ট করেন , কম্পাইলারটি একটি কল সন্নিবেশ করায় Cast<T>। সুতরাং এই:
bool result = (from Match m in matches
where m.Groups["name"].Value.Length > 128
select m).Any();
একেবারে সমান:
bool result = matches.Cast<Match>()
.Where(m => m.Groups["name"].Value.Length > 128)
.Any();
যা এ হিসাবে লেখা যেতে পারে:
bool result = matches.Cast<Match>()
.Any(m => m.Groups["name"].Value.Length > 128);
এক্ষেত্রে Castকলটি প্রয়োজনীয় কারণ MatchCollectionকেবল প্রয়োগ ICollectionএবং IEnumerableনা IEnumerable<T>। প্রায় সমস্ত লিনকিউ টু অবজেক্টস এক্সটেনশন পদ্ধতিগুলিতে লক্ষ্যবস্তু করা IEnumerable<T>হয় এবং এর উল্লেখযোগ্য ব্যতিক্রমগুলি Castএবং OfTypeউভয়ই "দুর্বল" টাইপযুক্ত সংগ্রহকে (যেমন MatchCollection) জেনেরিতে রূপান্তর করতে ব্যবহৃত হয় IEnumerable<T>- যা পরবর্তী লিনকিউ অপারেশনের জন্য অনুমতি দেয়।