【问题标题】:C# accessing element of object from List<> using for loop instead of foreachC# 使用 for 循环而不是 foreach 从 List<> 访问对象的元素
【发布时间】:2021-11-01 23:37:25
【问题描述】:

试图复习我的 C# 基础。如何打印列表中对象的值?我有一个列表,想打印出姓名和年龄来控制台。

我可以使用 foreach 循环轻松地打印出他们的全名和年龄,但我只是好奇如何通过 for 循环来做到这一点,这是我的代码,我失败了,因为 感谢您的意见和帮助

namespace Rextester
{
    public class Person
    {
        
        public string Name {get;set;}
        public int Age {get; set;}

    }
    public class Program
    {
        public static void Main(string[] args)
        {
            
            
            var People = new List<Person>
            {
                new Person{Name ="mary", Age= 60},
                new Person{Name ="john", Age = 40},
                new Person{Name ="peter", Age= 50},
                new Person{Name ="jane", Age=30}
            };

            foreach(var obj in People)
            {
                Console.WriteLine(obj.Name + obj.Age);
            }
            
            for(int i=0; i<People.Count; i++)
            {
                var name = People[i].Name;
                var age = People[i].Age;
                Console.WriteLine(name[i]); // result is char in each index of string m, o ,t, e  instead of name - mary, john, peter, jane
                Console.WriteLine(age[i]);// error: Cannot apply indexing with [] to an expression of type 'int'
            } 
        }
    }
}

【问题讨论】:

  • name 应该是一个字符串,因此您可以索引每个字母(字符) - 如果这是您想要的。 Age 是一个不能被索引的 int,因为没有有意义的组件元素。
  • 错误说明了一切。 var age= People[i].Ageage 设置为 int。因此,如果您想打印age,只需使用Console.WriteLine(age)。同名。这不会对前几项立即引发错误,因为您可以通过索引[i] 访问字符串的各个字符。但是一旦你的i 大于名字的长度,这也会抛出错误
  • @ŇɏssaPøngjǣrdenlarp 谢谢!这是有道理的:)) 现在我明白了
  • @derpirscher 谢谢!所以我想多了。就是这么简单......谢谢

标签: c# list for-loop object arraylist


【解决方案1】:

你几乎都是自己一个人做的:

Console.WriteLine(People[i].Name);
Console.WriteLine(People[i].Age);

【讨论】:

  • 或者干脆Console.WriteLine(name);Console.WriteLine(age);
猜你喜欢
  • 1970-01-01
  • 2012-07-09
  • 2012-01-27
  • 2017-03-18
  • 1970-01-01
  • 2021-12-27
  • 2020-07-25
  • 2016-03-11
  • 2023-04-11
相关资源
最近更新 更多