Unique name print করার জন্য একটি program লিখব, যেখানে কোন duplicate entries থাকবে না। উদাহরণ সরূপ নিচের Input String এর কথা চিন্তা করি, এখানে Rob এবং Able নাম দুইটা দুইবার আছে, আমদের program এর কাজ হল এই একাধিকবার থাকা নাম গুলো কে eliminate করে দিয়ে প্রতিটি নামকে একবার করে দেখানো। সহজ কথায় একটা নাম output string এ একবারের বেশি থাকতে পারবে না। Program টা এরকম হবে -
Input String = "Rob;Mike;Able;Sara;Rob;Peter;Able;"
Output String = "Rob;Mike;Able;Sara;Peter;"
using System;
using System.Linq;
using System.Text;
namespace MainPrograms
{
public class Program
{
public static void Main(string[] args)
{
// Prompt the user to enter the list of user names
Console.WriteLine("Please enter the name list separated by semicolon");
// Read the user name list from the console
string InputedNameString = Console.ReadLine();
// Sampe list of user names that can be used as an input
// strUserNames = "Rob;Mike;Able;Sara;Rob;Peter;Able";
// Split the string into a string array based on semi colon
string[] InputedNameListArray = InputedNameString.Split(';');
// Use the Distinct() LINQ function to remove duplicates
string[] DistinctNameListArray = InputedNameListArray.Distinct().ToArray();
// Using StringBuilder to concatenate strings is more efficient
// than using immutable string objects for better performance
StringBuilder DistinctNameList = new StringBuilder();
// Build the string from unique names appending semi colon
foreach (var item in DistinctNameListArray)
{
DistinctNameList.Append(item+";");
}
// Remove the extra semi colon in the end
string OutputedNameList = DistinctNameList.
Remove(DistinctNameList.ToString().LastIndexOf(';'),1).ToString();
// Finally print the unique names
Console.WriteLine("{0}", OutputedNameList);
Console.ReadKey();
}
}
}
No comments:
Post a Comment