কোয়েরিয়েবল.সিলেক্টম্যান () পদ্ধতির জন্য কি সি # লিনকিউ সিনট্যাক্স রয়েছে?


88

সি # লিনকিউ সিনট্যাক্স ব্যবহার করে কোনও ক্যোয়ারী লেখার সময়, কীওয়ার্ড সিনট্যাক্স থেকে কোয়েরিয়েবল.সিলেক্টম্যানি পদ্ধতি ব্যবহার করার কোনও উপায় আছে?

জন্য

string[] text = { "Albert was here", 
                  "Burke slept late", 
                  "Connor is happy" };

সাবলীল পদ্ধতি ব্যবহার করে আমি জিজ্ঞাসা করতে পারি

var tokens = text.SelectMany(s => s.Split(' '));

অনুরূপ একটি কোয়েরি সিনট্যাক্স অনুরূপ

var tokens = from x in text selectmany s.Split(' ')

উদাহরণটির কিছুটা উন্নতি প্রয়োজন ... তবে আমার সন্দেহ হয় যে এটি প্রাথমিক পয়েন্টটি পেয়েছে। আরও ভাল উদাহরণ প্রস্তাব নির্দ্বিধায়।
ব্রায়ানকুকি

উত্তর:


126

হ্যাঁ, আপনি কেবল ... ধারাটিতে পুনরাবৃত্তি করেছেন:

var words = from str in text
            from word in str.Split(' ')
            select word;

4
@ বুকসি - হ্যাঁ ... কারণ আপনি প্রথম ফলাফলের ভিতরে নেস্টেড কোনও সংগ্রহ থেকে নির্বাচন করছেন।
জাস্টিন নিসনার

4
এই সমস্ত কলগুলি সেলেঙ্কম্যান দ্বারা পরিবেশন করা যেতে পারে, যা অত্যন্ত নমনীয়, তবে সংকলকটি সিলেক্ট, সিলেক্টম্যান এবং এমনকি কোনও পরিবর্তনের মধ্যে বেছে নেবে, কোয়েরির ফর্মের উপর নির্ভর করে
স্প্রেড


18

আপনার জিজ্ঞাসাটি আবার লিখিত হবে:

var tokens = from x in text
             from z in x.Split(' ')
             select z;

এখানে একটি ভাল পৃষ্ঠা যা ল্যাম্বডা এবং ক্যোয়ারির সিনট্যাক্সের দু'পাশে পাশের উদাহরণ রয়েছে:

অনেক অপারেটর পর্ব 1 নির্বাচন করুন - জিশান হিরানী

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.