কিভাবে LINQ ব্যবহার করে DataTable থেকে একটি স্বতন্ত্র, অর্ডার তালিকা তালিকা পেতে পারি?

আমার কাছে DataTable একটি নাম কলামের সাথে আছে। আমি বর্ণানুক্রমিকভাবে সাজানো অনন্য নাম্বার সংগ্রহ করতে চাই। নিম্নোক্ত ক্যোয়েন্স ধারা দ্বারা <

var names =
    (from DataRow dr in dataTable.Rows
    orderby (string)dr["Name"]
    select (string)dr["Name"]).Distinct();

কেন অর্ডারবাই প্রয়োগ করে না?

0
যোগ সম্পাদিত
মতামত: 6

5 উত্তর

সমস্যা হল যে স্পষ্টত  অপারেটর এটি অনুমোদন করে না  মূল আদেশ বজায় রাখা  মান।

তাই আপনার ক্যোয়ারী এই মত কাজ করতে হবে

var names = (from DataRow dr in dataTable.Rows
             select (string)dr["Name"]).Distinct().OrderBy( name => name );
0
যোগ

নিম্নলিখিত চেষ্টা করুন

var names = (from dr in dataTable.Rows
             select (string)dr["Name"]).Distinct().OrderBy(name => name);

এই আপনার প্রয়োজন কি জন্য কাজ করা উচিত।

0
যোগ

এটি আরো পাঠযোগ্য এবং রক্ষণাবেক্ষণযোগ্য করতে, আপনি এটি একাধিক LINQ বিবৃতিতে বিভক্ত করতে পারেন।

  1. প্রথমে, একটি নতুন তালিকাতে আপনার ডেটা নির্বাচন করুন, এটি x1 এ কল করি, যদি ইচ্ছা হয় তাহলে একটি অভিক্ষিপ্ত করুন
  2. পরবর্তী, x1 থেকে x2 থেকে একটি স্বতন্ত্র তালিকা তৈরি করুন, যা আপনার প্রয়োজনীয় যে কোনও পার্থক্য ব্যবহার করে
  3. অবশেষে, x2 থেকে x3 , একটি আদেশ তালিকা তৈরি করুন, যা আপনি ইচ্ছা করে সাজান
0
যোগ

নিম্নলিখিত চেষ্টা করে দেখুন:

dataTable.Rows.Cast().select(dr => dr["Name"].ToString()).Distinct().OrderBy(name => name);
0
যোগ

অবজেক্টের জন্য: সব উত্তর সাধারণ কিছু আছে।

অর্ডারবিকে চূড়ান্ত অপারেশন করতে হবে।

0
যোগ