我是 C# 新手。我需要用 BFS 將我的 C 代碼重寫為 C#。兩個變數賦值都有問題。錯誤 CS1612:無法修改“運算式”的回傳值,因為它不是變數。但這些都是變數。
for (int i = 0; i < graph[q.Peek()].Count; i )
{
if (cost[graph[q.Peek()][i].Item1].Item1 > cost[q.Peek()].Item1 Convert.ToInt32((graph[q.Peek()][i].Item2 != cost[q.Peek()].Item2)))
{
q.Enqueue(graph[q.Peek()][i].Item1);
cost[graph[q.Peek()][i].Item1].Item1 = (cost[q.Peek()].Item1
Convert.ToInt32((graph[q.Peek()][i].Item2 != cost[q.Peek()].Item2)));
cost[graph[q.Peek()][i].Item1].Item2 = graph[q.Peek()][i].Item2;
}
}
我所有的 C# 代碼:https ://pastebin.com/Dfa5KGE6 。
uj5u.com熱心網友回復:
請檢查此錯誤的檔案,它準確描述了您的情況:編譯器錯誤 CS1612
要修改結構,首先將其分配給區域變數,修改變數,然后將變數分配回集合中的專案。
List<myStruct> list = {…};
MyStruct ms = list[0];
ms.Name = "MyStruct42";
list[0] = ms;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/430020.html
標籤:C#
上一篇:欄位初始值設定項不能參考非靜態欄位、方法或屬性“MyController._config”
下一篇:MySQL列年份決議和排序
