তালিকাটি কমা-বিভাজিত স্ট্রিংয়ে রূপান্তর করুন


158

আমার কোডটি নীচের মতো:

public void ReadListItem()
{
     List<uint> lst = new List<uint>() { 1, 2, 3, 4, 5 };
     string str = string.Empty;
     foreach (var item in lst)
         str = str + item + ",";

     str = str.Remove(str.Length - 1);
     Console.WriteLine(str);
}

আউটপুট: 1,2,3,4,5

List<uint>কমা-বিচ্ছিন্ন স্ট্রিংয়ে রূপান্তর করার সবচেয়ে সহজ উপায় কী ?


8
String.Joinআপনার যা দরকার তা হল।
asawyer

8
var csvString = String.Join(",", lst);এটা করা উচিত।
মিত্রান্দির

2
: যারা চায় এই পুনরায় চালু করার, যদি এটা খুব স্থানীয় নয় এটা সদৃশ যেটির stackoverflow.com/questions/799446/...
টিম Schmelter

উত্তর:


319

উপভোগ করুন!

Console.WriteLine(String.Join(",", new List<uint> { 1, 2, 3, 4, 5 }));

প্রথম প্যারামিটার: ","
দ্বিতীয় প্যারামিটার:new List<uint> { 1, 2, 3, 4, 5 })

স্ট্রিং.জাইন দ্বিতীয় প্যারামিটার হিসাবে একটি তালিকা নেবে এবং প্রথম প্যারামিটার হিসাবে একটি স্ট্রিংয়ে পাস হওয়া স্ট্রিংটি ব্যবহার করে সমস্ত উপাদানকে যুক্ত করবে।


11
.NET 3.5 এবং এর নীচে আপনাকে স্পষ্টভাবে আপনার তালিকাটিকে অ্যারেতে রূপান্তর করতে হবে lst.ToArray(), কারণ সেখানে কোনও সরাসরি ওভারলোড এখনও নেই।
আন্তন

69

আপনি আইটেমগুলিকে একত্রিত করতে স্ট্রিং.জাইন পদ্ধতিটি ব্যবহার করতে পারেন :

var str = String.Join(",", lst);

এটি আমার পক্ষে কাজ করে না। এটি তালিকার আইটেমগুলির চেয়ে সংগ্রহের নাম তৈরি করে।
রানি র‌্যাডক্লিফ

25

ব্যবহার String.Join

string.Join<string>(",", lst );

ব্যবহার Linq Aggregation

lst .Aggregate((a, x) => a + "," + x);

1
আমি টাইপ int32 তালিকা আছে। আমি যখন উল্লেখ করেছি সমষ্টিগত ফাংশনটি ব্যবহার করি, তখন এটি বলছে "ল্যাম্বডা এক্সপ্রেশনটি 'সিস্টেম.ফুন <<, int, int>' টাইপকে রূপান্তর করতে পারে না কারণ ব্লকের কিছু রিটার্ন টাইপ ডেলিগেট রিটার্ন টাইপের ক্ষেত্রে স্পষ্টভাবে রূপান্তরিত হয় না" এবং "প্রকারের স্ট্রিংকে 'ইনট' তে রূপান্তরিত করা যায় না"
হরি

1
@ হরি আপনাকে এগ্রিগেট স্ট্রিংয়ে রূপান্তর করার আগে আপনাকে অবশ্যই স্ট্রিং মানগুলিতে রূপান্তর করতে হবে। সুতরাং আপনি এর মতো কিছু করতে পারেন: list.Select (x => string. Format ("{0}: {1}", x.Key, x.Value))। সমষ্টি ((a, x) => a + " , "+ x);
বেট করুন

11

আপনার কাছে কীটপতঙ্গ সংগ্রহ রয়েছে:

List<int> customerIds= new List<int>() { 1,2,3,3,4,5,6,7,8,9 };  

আপনি string.Joinএকটি স্ট্রিং পেতে ব্যবহার করতে পারেন :

var result = String.Join(",", customerIds);

উপভোগ করুন!



4
          @{  var result = string.Join(",", @user.UserRoles.Select(x => x.Role.RoleName));
              @result

           }

আমি এমভিসি রেজার ভিউতে কমা দ্বারা বিচ্ছিন্ন সমস্ত ভূমিকা মূল্যায়ন ও মুদ্রণ করতে ব্যবহার করেছি।


3

আপনি .NET ফ্রেমওয়ার্ক> 4.0 ব্যবহার করে থাকেন তবে এর জন্য আপনি স্ট্রিং.জয়াইন ব্যবহার করতে পারেন।

var result= String.Join(",", yourList);

2

তালিকা থেকে কমা দ্বারা পৃথক স্ট্রিং অ্যারে পাওয়ার জন্য আপনি নীচের উদাহরণটি উল্লেখ করতে পারেন।

উদাহরণ:

List<string> testList= new List<string>();
testList.Add("Apple"); // Add string 1
testList.Add("Banana"); // 2
testList.Add("Mango"); // 3
testList.Add("Blue Berry"); // 4
testList.Add("Water Melon"); // 5

string JoinDataString = string.Join(",", testList.ToArray());


1

কমা দ্বারা তালিকা তালিকা আলাদা করার জন্য আমরা এর মতো চেষ্টা করতে পারি

string stations = 
haul.Routes != null && haul.Routes.Count > 0 ?String.Join(",",haul.Routes.Select(y => 
y.RouteCode).ToList()) : string.Empty;

0

আপনি গুগল-কালেকশন.জার ব্যবহার করতে পারেন যার একটি ইউটিলিটি ক্লাস যুক্ত রয়েছে যার নাম রয়েছে

 String commaSepString=Joiner.on(",").join(lst);

অথবা

আপনি জোড় নামক ফাংশনযুক্ত স্ট্রিংটিলস ক্লাসটি ব্যবহার করতে পারেন St স্ট্রিং ইউটিলস ক্লাসটি ব্যবহার করার জন্য আপনার সাধারণ-ল্যাং 3.জার ব্যবহার করতে হবে

String commaSepString=StringUtils.join(lst, ',');

রেফারেন্সের জন্য, এই লিঙ্কটি পড়ুন http://techno-terminal.blogspot.in/2015/08/convert-collection-into-comma-separated.html


0
static void Main(string[] args){          
List<string> listStrings = new List<string>() { "C#", "Asp.Net", "SQL Server", "PHP", "Angular" };  
string CommaSeparateString = GenerateCommaSeparateStringFromList(listStrings);  
Console.Write(CommaSeparateString);  
Console.ReadKey();}
private static string GenerateCommaSeparateStringFromList(List<string> listStrings){return String.Join(",", listStrings);}

স্ট্রিংয়ের একটি তালিকা কমা দ্বারা পৃথক করা স্ট্রিং সি তে রূপান্তর করুন #


0

আপনার তালিকার আইটেমটিতে যদি একাধিক স্ট্রিং থাকে তবে আপনি টসস্ট্রিং () ওভাররাইডও করতে পারেন

public class ListItem
{

    public string string1 { get; set; }

    public string string2 { get; set; }

    public string string3 { get; set; }

    public override string ToString()
    {
        return string.Join(
        ","
        , string1 
        , string2 
        , string3);

    }

}

সিএসভি স্ট্রিং পেতে:

ListItem item = new ListItem();
item.string1 = "string1";
item.string2 = "string2";
item.string3 = "string3";

List<ListItem> list = new List<ListItem>();
list.Add(item);

string strinCSV = (string.Join("\n", list.Select(x => x.ToString()).ToArray()));


0

আপনি এই জাতীয় কমা দ্বারা তালিকা সত্তা পৃথক করতে পারেন:

//phones is a list of PhoneModel
var phoneNumbers = phones.Select(m => m.PhoneNumber)    
                    .Aggregate(new StringBuilder(),
                        (current, next) => current.Append(next).Append(" , ")).ToString();

// Remove the trailing comma and space
if (phoneNumbers.Length > 1)
    phoneNumbers = phoneNumbers.Remove(phoneNumbers.Length - 2, 2);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.