Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我能';不要在方法之外创建实例 使用系统; 命名空间文件应用程序 { 公共阶级地位 { 公共交通速度; } 公开课选手 { 私有状态ddd=新状态(); ddd.速度=3; 静态void Main() { 状态dd=新状态(); dd.速度=3; } } }_C#_Syntax_Instance - Fatal编程技术网

C# 为什么我能';不要在方法之外创建实例 使用系统; 命名空间文件应用程序 { 公共阶级地位 { 公共交通速度; } 公开课选手 { 私有状态ddd=新状态(); ddd.速度=3; 静态void Main() { 状态dd=新状态(); dd.速度=3; } } }

C# 为什么我能';不要在方法之外创建实例 使用系统; 命名空间文件应用程序 { 公共阶级地位 { 公共交通速度; } 公开课选手 { 私有状态ddd=新状态(); ddd.速度=3; 静态void Main() { 状态dd=新状态(); dd.速度=3; } } },c#,syntax,instance,C#,Syntax,Instance,为什么我不能使用ddd.speed?为什么我不能将ddd.speed设置为3?请帮助我。您不能让语句(成员声明和初始化除外)直接在类下浮动-您需要将它们放在方法或构造函数中。因为这样的逻辑语句属于方法,而不属于类定义。类定义可以定义类成员(字段、属性、方法),但不能执行命令式逻辑 在Main方法中,您已经演示了如何执行此操作: status dd = new status(); dd.speed = 3; 现在,如果您特别想在Main方法中访问ddd,请注意Main是static,因此与Pl

为什么我不能使用ddd.speed?为什么我不能将ddd.speed设置为3?请帮助我。

您不能让语句(成员声明和初始化除外)直接在类下浮动-您需要将它们放在方法或构造函数中。

因为这样的逻辑语句属于方法,而不属于类定义。类定义可以定义类成员(字段、属性、方法),但不能执行命令式逻辑

Main
方法中,您已经演示了如何执行此操作:

status dd = new status();
dd.speed = 3;

现在,如果您特别想在
Main
方法中访问
ddd
,请注意
Main
static
,因此与
Player
的任何给定状态都没有关联。因此,您需要一个实例:

Player player = new Player();
Player player = new Player();
player.DDD.speed = 3;
由于
ddd
private
,您需要一些东西来允许您访问该字段。财产对这类事情很有用。例如,将其定义为:

private status ddd = new status();
public status DDD { get { return ddd; } }
您也可以将其缩短为:

public status DDD { get; private set; } = new status();
然后您可以在您的实例上访问它:

Player player = new Player();
Player player = new Player();
player.DDD.speed = 3;