Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取控制台输入并将其从最高到最低排序_C#_List_Sorting - Fatal编程技术网

C# 获取控制台输入并将其从最高到最低排序

C# 获取控制台输入并将其从最高到最低排序,c#,list,sorting,C#,List,Sorting,正如标题所说,我希望通过控制台从用户获取输入,并使用列表或数组对其进行排序,然后输出列表 基本上,列表包含三个变量,一个字符串和两个整数 (例如: 因菲克西斯,20,19 约翰,24岁,3岁 简,17岁,28岁 列表应该以相同的格式输出,尽管只是根据第一个数字排序,所以john将是第一个,然后是infexis,然后是jane。在排序中,姓名和第二个数字并不重要。) 我对c#非常陌生,我想知道如何获取用户输入并将其添加到一个没有指定数量变量的列表中(因此列表可以包含2个条目,或12个条目,而不仅仅

正如标题所说,我希望通过控制台从用户获取输入,并使用列表或数组对其进行排序,然后输出列表

基本上,列表包含三个变量,一个字符串和两个整数

(例如: 因菲克西斯,20,19 约翰,24岁,3岁 简,17岁,28岁

列表应该以相同的格式输出,尽管只是根据第一个数字排序,所以john将是第一个,然后是infexis,然后是jane。在排序中,姓名和第二个数字并不重要。)

我对c#非常陌生,我想知道如何获取用户输入并将其添加到一个没有指定数量变量的列表中(因此列表可以包含2个条目,或12个条目,而不仅仅是指定的数字)
任何帮助都将不胜感激

我强烈建议您引入类而不是字符串数组来存储用户的输入

例如:

public class Person 
{
  public string Name { get; set; }
  public int FirstNumber { get; set; }
  public int SecondNumber { get; set; }
}

public static void Main()
{
  //list of persons
  List<Person> people = new List<Person>();

  //Your piece of business logic ...

  //Creating person object

  var person = new Person();
  person.Name = Console.ReadLine();
  person.FirstNumber = Console.ReadLine();
  person.SecondNumber = Console.ReadLine();
  people.Add(person);

  //order by FirstNumber (needed to add: System.Linq namespace)
  var orderedPeople = people.OrderBy(p => p.FirstNumber);

  //output
  foreach(var p in orderedPeople)
  {
    Console.WriteLine(String.Format("{0} {1} {2}", p.Name, p.FirstNumber, p.SecondNumber));
  }
}
公共类人物
{
公共字符串名称{get;set;}
public int FirstNumber{get;set;}
public int SecondNumber{get;set;}
}
公共静态void Main()
{
//人员名单
列表人员=新列表();
//你的商业逻辑。。。
//创建person对象
var person=新的person();
person.Name=Console.ReadLine();
person.FirstNumber=Console.ReadLine();
person.SecondNumber=Console.ReadLine();
人。添加(人);
//按FirstNumber排序(需要添加:System.Linq命名空间)
var orderedPeople=people.OrderBy(p=>p.FirstNumber);
//输出
foreach(orderedPeople中的var p)
{
WriteLine(String.Format(“{0}{1}{2}”,p.Name,p.FirstNumber,p.SecondNumber));
}
}
注意:我没有测试这段代码,所以您可能会遇到一些编译时错误,但您可以更广泛地了解如何更轻松地处理问题


此外,您还可以扩展类以满足其他要求,如一些其他(可选)属性(即用户输入)

欢迎使用StackOverflow。请编辑问题,将其限制为特定问题,并提供足够详细的信息,以确定适当的答案。避免同时问多个不同的问题。请参阅“如何寻求帮助”页面,以澄清此问题。我投了赞成票。。。但我想指出的是,“人”的复数形式是“人”。我知道这是一个吹毛求疵的问题,但如果我在我正在编写的代码中看到:)