首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# 主函數中直接訪問實例字段報錯的原因

     編輯:程式設計綜合問答

錯誤代碼

T t = new T();
Console.WriteLine("b:" + t.b); // 編譯錯誤

原因

t.b 是 字段訪問表達式,其值類型為 int。但 Console.WriteLine("b:" + t.b) 中 + 運算符要求兩邊均為字符串或可隱式轉換。若 b 是 int,"b:" + t.b 會嘗試字符串拼接,**這本身是合法的**。

真正報錯原因通常是:

  • b 未聲明為 public 或 internal(默認 private),主函數在類外無法訪問。
  • 代碼片段缺少分號、大括號等語法錯誤。

修正

class T {
    public int b; // 添加 public
    public void fc() { Console.WriteLine("b:" + b); }
}
static void Main() {
    T t = new T();
    t.fc(); // 正確
    Console.WriteLine("b:" + t.b); // 現正確
}

補充

若字段為 private,需提供公共屬性或方法訪問,符合封裝原則。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved