Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.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# 获取涉及';的语法错误';_C# - Fatal编程技术网

C# 获取涉及';的语法错误';

C# 获取涉及';的语法错误';,c#,C#,我正在制作一个口袋妖怪游戏,本节给出了3个错误: 无效的表达式项“;”(CS1525)“和”;应为(CS1002) 公共类HeldItem { 公共静态智力标准(智力项目,智力技能,智力使用项,智力dmg) { Random rand=新的Random(); 动作跳转=新动作(); int i=rand()%100; 双criteperc=6.25; 如果(项==真) CritPerc=12.5; else if(skill==true) CritPerc=12.5; else if(UsedI

我正在制作一个口袋妖怪游戏,本节给出了3个错误: 无效的表达式项“;”(CS1525)“和”;应为(CS1002)

公共类HeldItem
{
公共静态智力标准(智力项目,智力技能,智力使用项,智力dmg)
{
Random rand=新的Random();
动作跳转=新动作();
int i=rand()%100;
双criteperc=6.25;
如果(项==真)
CritPerc=12.5;
else if(skill==true)
CritPerc=12.5;
else if(UsedItem==true)
CritPerc=12.5;
else如果((item==true&skill==true)| |(item==true&UsedItem==true)| |(skill==true&UsedItem==true))
CritPerc=25%;
else if(item==true&skill==true&UsedItem==true)
CritPerc=33.3%;
if(Action)//跳转
CritPerc=50%;
如果(iCritPerc)
dmg==dmg;
返回dmg;
}
}
}


也许这是一个愚蠢的问题,但我不知道它是什么

你不能用C#指定百分比

您有以下行:

CritPerc=25%;
CritPerc=33.3%;
CritPerc = 50%;
这是无效的(百分比表示C#中的模运算符)

相反,您可能希望将这些值指定为双浮点值

CritPerc=0.25;
CritPerc=0.333;
CritPerc = 0.50;
这句话说:

dmg == dmg;
啊,致命的“=”错误

%c#中的(百分比)运算符表示取2的模运算 操作数。但是你给我一个。所以它给出了错误

而不是

CritPerc=25%;

dmg==dmg


导致错误。

您的dmg==dmg是错误的运算符,如果dmg已经有了正确的值,只需返回它,dmg=dmg不言而喻

您可能打算使用
&&
(逻辑)而不是
&
(按位)。快速查看一下,CritPerc=25%没有意义。它应该是0.25或“25%”。代码中的另外两个地方也是如此。已编辑:由于CritPerc是双精度的,根据您的约定,它应该是25.0。@Pubby-运算符对整数操作数和布尔操作数执行位逻辑“与”运算。-这没有任何作用:
else如果(i>criteperc)dmg==dmg @ AVD,我知道,但是很多人会认为代码>和代码>更清晰。无论如何,他也可以删除
==true
。具有讽刺意味的是,
i
就是使用这个模运算符得到的。
CritPerc=25%;
CritPerc=.25;
CritPerc=25/100;