更新:2007 年 11 月
错误消息
使用了未赋值的 out 参数“parameter”编译器无法验证在使用 out 参数之前是否已给它赋值,它的值在赋值时可能未定义。在访问值之前,请确保初始化 out 参数。如果您需要使用传入的变量的值,请改用 ref 参数。有关更多信息,请参见
示例
下面的示例生成 CS0269:
复制代码 | |
---|---|
// CS0269.cs class C { public static void F(out int i) // Try this instead: // public static void F(ref int i) { int k = i; // CS0269 i = 1; } public static void Main() { int myInt; F(out myInt); } } |
如果变量的初始化发生在 try 块中,则也会出现此错误,因为编译器无法验证 try 块是否可以成功执行:
复制代码 | |
---|---|
// CS0269b.cs class C { public static void F(out int i) { try { // Assignment occurs, but compiler can't verify it i = 1; } catch { } int k = i; // CS0269 i = 1; } public static void Main() { int myInt; F(out myInt); } } |