簡體   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