首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >getters设置器数组

getters设置器数组
EN

Stack Overflow用户
提问于 2013-08-12 14:45:40
回答 3查看 9.2K关注 0票数 1

可能是一个我无法解决的非常简单的问题--我从C#开始,需要用getter/setter方法向数组中添加值,例如:

代码语言:javascript
运行
复制
public partial class Form1 : Form
{
    string[] array = new string[] { "just","putting","something","inside","the","array"};


    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Array = "gdgd";
    }

    public string[] Array
    {
        get { return array; }
        set { array = value; }
    }
}

}

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-12 14:50:06

这是行不通的:

代码语言:javascript
运行
复制
Array = "gdgd";

它试图将string值赋值给string[]属性。请注意,无论如何都不能在数组中添加或删除元素,因为一旦创建了元素,大小就固定了。也许您应该使用List<string>来代替:

代码语言:javascript
运行
复制
public partial class Form1 : Form
{
    List<string> list = new List<string> { 
        "just", "putting", "something", "inside", "the", "list"
    };    

    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        List.Add("gdgd");
    }

    public List<string> List
    {
        get { return list; }
        set { list = value; }
    }
}

请注意,在这里拥有公共属性是不相关的,因为您是从同一个类中访问它的--您只需使用该字段:

代码语言:javascript
运行
复制
private void button1_Click(object sender, EventArgs e)
{
    list.Add("gdgd");
}

还请注意,对于像这样的“琐碎”属性,可以使用自动实现的属性:

代码语言:javascript
运行
复制
public partial class Form1 : Form
{
    public List<string> List { get; set; }

    public Form1()
    {
        InitializeComponent();
        List = new List<string> { 
            "just", "putting", "something", "inside", "the", "list"
        };    
    }

    private void button1_Click(object sender, EventArgs e)
    {
        List.Add("gdgd");
    }
}
票数 10
EN

Stack Overflow用户

发布于 2013-08-12 14:50:41

在您的set方法中,您需要添加代码,以便它可以添加到特定的数组位置,除非您要向它发送数组,如果是这样的话,那么您所拥有的应该可以工作。

如果您向它发送一个字符串,就像您一样,您需要指定数组位置。

代码语言:javascript
运行
复制
Array[index] = "gdgd"

否则,您将分配给字符串变量,而不是数组。

票数 1
EN

Stack Overflow用户

发布于 2013-08-12 14:50:55

使用列表保存值。当需要返回数组时,使用List.ToArray()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18190036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档