You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#读取CSV至Contacts列表后无法访问元素(如Email)求助

问题解决:无法访问List中的元素属性

你的代码已成功读取CSV文件并生成Contacts对象列表,但无法访问values[0].Email的核心原因是Contacts类中的First、Last、Email字段默认是私有(private)的。在C#中,未显式指定访问修饰符的类成员默认仅允许类内部访问,外部代码无法直接调用。

修正方案

将Contacts类的成员改为公共访问级别,推荐使用规范的公共属性写法:

修正后的Contacts类代码

class Contacts
{
    // 改为公共自动属性(C#推荐写法)
    public string First { get; set; }
    public string Last { get; set; }
    public string Email { get; set; }

    public static Contacts FromCsv(string csvLine)
    {
        string[] values = csvLine.Split(',');
        return new Contacts
        {
            First = values[0],
            Last = values[1],
            Email = values[2]
        };
    }
}

若需保留字段形式(不推荐,但可行)

class Contacts
{
    // 显式设置为public访问级别
    public string First;
    public string Last;
    public string Email;

    public static Contacts FromCsv(string csvLine)
    {
        string[] values = csvLine.Split(',');
        Contacts contacts = new Contacts();

        contacts.First = values[0];
        contacts.Last  = values[1];
        contacts.Email = values[2];

        return contacts;
    }
}

修改完成后,即可正常访问values[0].Email等对象成员。

内容的提问来源于stack exchange,提问作者rams59

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 03:55:19