<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Compiler Error CS1612 無法修改“expression”的返回值,因為它不是變量 嘗試修改作為中間表達式的結果生成但未存儲在變量中的值類型。如果嘗試直接修改泛型集合中的結構,則會發生此錯誤,如下面的示例所示: ``` List<myStruct> list = {…}; list[0].Name = "MyStruct42"; //CS1612 ``` 若要修改結構,請首先將其賦給局部變量,修改該變量,然后將該變量賦回給集合中的項。 ``` List<myStruct> list = {…}; MyStruct ms = list[0]; ms.Name = "MyStruct42"; list[0] = ms; ``` 之所以會發生此錯誤,原因是在賦值時復制了值類型。在從屬性或索引器中檢索值類型時,所獲取的是對象的副本,而不是對于對象本身的引用。由于屬性或索引器實際上是方法,而不是存儲位置(變量),因此它們不存儲返回的副本。您必須將副本存儲在聲明的變量中,然后才能對其進行修改。 引用類型不會發生此錯誤,因為在這種情況下,屬性或索引器將返回對現有對象的引用,而對象是存儲位置。 如果是在定義類或結構,則修改屬性聲明,提供對結構成員的訪問,即可解決此錯誤。如果是在編寫客戶端代碼,則創建您自己的結構實例,修改其字段,然后將整個結構賦回給該屬性,即可解決此錯誤。第三種替代方式是,您可以將結構更改為類。 當您嘗試通過將返回整個結構的封閉類的屬性來訪問結構的成員時,也會發生 CS1612,如下面的示例所示: ``` // CS1612.cs using System; public struct MyStruct { public int Width; } public class ListView { MyStruct ms; public MyStruct Size { get { return ms; } set { ms = value; } } } public class MyClass { public MyClass() { ListView lvi; lvi = new ListView(); lvi.Size.Width = 5; // CS1612 // You can use the following lines instead. // MyStruct ms; // ms.Width = 5; // lvi.Size = ms; // CS1612 } public static void Main() { MyClass mc = new MyClass(); // Keep the console open in debug mode. Console.WriteLine("Press any key to exit."); Console.ReadKey(); } } ``` ## 請參閱 [結構(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/saxz13w4.aspx) [值類型(C# 參考)](https://msdn.microsoft.com/zh-cn/library/s1ax56ch.aspx) [引用類型(C# 參考)](https://msdn.microsoft.com/zh-cn/library/490f96s2.aspx)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看