我想根據搜索字符串對列表進行排序。但似乎有一些問題。 下面是代碼:使用搜索字符串對列表進行排序
namespace ListDemo
{
class Program
{
static void Main(string[] args)
{
Employee e1 = new Employee {ID=1,Name="John",City="London" };
Employee e2 = new Employee { ID = 2, Name = "Mary", City = "NY" };
Employee e3 = new Employee { ID = 3, Name = "Dave", City = "Sydney" };
Employee e4 = new Employee { ID = 4, Name = "Kate", City = "Chicago" };
Employee e5 = new Employee { ID = 5, Name = "Sheela", City = "Delhi" };
List<Employee> listEmployee = new List<Employee>();
listEmployee.Add(e1);
listEmployee.Add(e2);
listEmployee.Add(e3);
listEmployee.Add(e4);
listEmployee.Add(e5);
Console.WriteLine("Enter the name via which you wana sort?");
string searchString = Console.ReadLine();
Console.WriteLine("####################Sorted List Starts##############");
var items = from element in listEmployee
orderby element.Name.Equals(searchString)
select element;
foreach (var i in items)
{
Console.WriteLine(i.Name);
}
Console.ReadLine();
}
}
class Employee
{
public int ID { get; set; }
public string Name { get; set; }
public string City { get; set; }
}
}
我有3個公有屬性,ID,姓名和市一個Employee類。 我創建了一個僱員列表,裏面有一些虛擬數據。
現在我想要用戶輸入一個搜索字符串,它實際上是一個名稱,如果列表包含該名稱,它應根據搜索字符串對列表進行排序。
例如:如果用戶輸入名稱爲'John',那麼修改後的列表應該顯示John作爲第一項,等等。
我寫的代碼行爲異常。
你能澄清「等」部分?如果用戶輸入「John」,你是否只想顯示「John」?任何以「John」開頭的東西?或者先放置「John」,然後在列表中自然顯示所有其他名稱? –
先放置約翰,然後顯示所有其他元素,因爲它們自然出現在列表中 – Anurag
請注意,在排序時,「false」被認爲小於「true」。 – juharr