সি # তালিকা <স্ট্রিং> ডিলিমিটারের সাথে স্ট্রিং করুন


631

কিছু সংগ্রহকে দ্রুত স্ট্রিংয়ে এবং ডিলিমেটারের সাথে পৃথক মানগুলিতে রূপান্তর করতে সি # তে কোন ফাংশন আছে?

উদাহরণ স্বরূপ:

List<string> names -> string names_together = "John, Anna, Monica"

উত্তর:


1201

আপনি ব্যবহার করতে পারেন String.Join। আপনার যদি একটি থাকে List<string>তবে আপনি ToArrayপ্রথমে কল করতে পারেন :

List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());

.NET 4 আপনি প্রয়োজন হবে না ToArray, আর যেহেতু আছে একজন জমিদার String.Joinযে লাগে IEnumerable<string>

ফলাফল:


জন, আনা, মনিকা


95

আপনি চাইলে লিনাক দিয়েও এটি করতে পারেন

var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);

যদিও আমি কোয়ার্টারমিস্টারের উত্তরে নন-লিনাক সিনট্যাক্সটিকে পছন্দ করি এবং আমার ধারণা Aggregateধীরে ধীরে (সম্ভবত আরও স্ট্রিং কনটেনটেশন অপারেশন) করা যাবে।


19
দ্রুত জবাবের জন্য ধন্যবাদ, উভয়ই ভাল কাজ করে। আপনি ঠিক বলেছেন আমি স্টপওয়াচ ক্লাসটি ব্যবহার করে একটি ছোট পারফরম্যান্স পরিমাপ করেছি এবং লিনাক-ওয়েটি অনেক ধীর গতি: স্ট্রিং.জয়াইন (",", নামস o টোআররে ()); -> 18 টি টিকিট সমষ্টি গ্রহণ করেছে ((a, b) => a + "," + বি) -> 736 টিকিট নিয়েছে
nan

2
হ্যাঁ আমি মনে করি Aggregateম্যাথ টাইপ অপারেশনের জন্য ভাল better স্ট্রিংগুলির সাথে এই ক্রিয়াকলাপটি for eachআইংয়ের অনুরূপ এবং কেবল একটি স্ট্রিংয়ের সাথে সংযোজন যা অদক্ষতার মধ্যে খুব ধীর কারণ আপনি তালিকায় বিদ্যমান প্রতিটি আইটেমের জন্য একটি নতুন স্ট্রিং তৈরি করছেন।
বব

নোট করুন যে বীজমূল্য ব্যতীত সমষ্টিগুলি ধারকটি ফাঁকা থাকলে একটি অবৈধপ্রকাশের অনুভূতি নিক্ষেপ করবে। ত্রুটি পরিচালনার কোড বা শর্তসাপেক্ষ চেক এড়াতে বীজযুক্ত সংস্করণ সমষ্টি (বীজ, ফানক) ব্যবহার করুন। স্ট্রিং.জয়িন খালি ফেলে দেয় না তাই কোনও বীজ বা অতিরিক্ত কোডের প্রয়োজন হয় না ... প্লাস এটিতে লিনক প্রয়োজন হয় না এবং বাক্য গঠনটি আরও পরিষ্কার হয়।
হুয়ানাছা

1
উপরের উদাহরণে সমষ্টি আরও দ্রুত কাজ করতে পারে যদি আপনি স্ট্রিংবিল্ডার ব্যবহার করেন। একাধিক সংক্ষেপণ সম্পাদন করতে '+' ব্যবহারের পরামর্শ দেওয়া হয় না। এখানে মন্তব্যসমূহ বিভাগটি দেখুন ( এমএসডিএন.মাইক্রোসফটকম / en-us / library/… )
ইলিয়া ডেনিসভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.