using System.Collections.Generic;
public static void Main()
string numberString = "one;two;three;four;five;six";
Console.WriteLine("Known Index Result:");
WriteResult(RemoveWithKnownIndex(numberString, 3));
Console.WriteLine("Known Indexes Result:");
WriteResult(RemoveWithKnownIndexes(numberString, new [] { 2, 3 }));
Console.WriteLine("Unknown Index Result:");
WriteResult(RemoveWithUnknownIndex(numberString, "four"));
private static IEnumerable<string> RemoveWithKnownIndex(string input, int index)
var inputList = input.Split(';').ToList();
inputList.RemoveAt(index);
private static IEnumerable<string> RemoveWithKnownIndexes(string input, IEnumerable<int> indexes)
var inputList = input.Split(';').ToList();
foreach(int index in indexes)
inputList.RemoveAt(index);
private static IEnumerable<string> RemoveWithUnknownIndex(string input, string userInput)
return input.Split(';').Where(x => string.Compare(x, userInput, true) != 0);
private static void WriteResult(IEnumerable<string> input)
Console.WriteLine(string.Join(";", input));