繁体   English   中英

c#,具有字符串数组类型的属性的类,设置不起作用

[英]c#, class with properties of type string array, set not working

我有一个具有多个属性的类,其中几个属性是字符串数组。 当以下语句:

MyObj.Str1[1] = "AAA";

MyObj.Str1[1]不包含“ AAA”。 使用调试断点,我看到set例程没有执行(get例程确实执行了)。

该属性如下所示:

public string[] Str1
{
    get { return bdr.GetArrVal(1, 25, 7); }
    set { bdr.SetArrVal(1, 25, 7, value); }
}

GetArrVal()构建并从类内部数据返回一个字符串数组。 SetArrVal()设置传入数组中的类内部数据。

我尝试使用索引器,但是在将类内部数据传递到描述Str1的类中时遇到了太多问题。

请注意,声明

MyObj.Str1 = arr1;

有效,其中arr1是字符串数组。 程序在设置的例程处中断。

所有这些使我觉得我做不到我想要的。 您可以分配对象的字符串数组属性的单个元素吗?

MyObj.Str1是一个字符串(一组字符),而MyObj.Str1[1]是该字符串的第二个索引上的char。 您正在为单个字符分配"AAA" 三个元素 如果尝试“ 分配对象的字符串数组属性的单个元素? ”,这没有任何意义

Str1是由您发布的属性名public string[] Str1 {返回string[] 所以当你说MyObj.Str1[1] = "AAA"; 您实际上是在尝试设置由Str1属性返回的数组元素,而不是属性本身,因此设置了语句MyObj.Str1 = arr1; 工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM