Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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
将关键字等价性从Java更新为C#_C#_Java - Fatal编程技术网

将关键字等价性从Java更新为C#

将关键字等价性从Java更新为C#,c#,java,C#,Java,我正在将代码从Java转换为C#,但在确定一些关键字等价性时遇到了问题。我在网上查过了,什么也找不到。更新增加了第3条 1) 有人知道C#对charAt()的用法吗?下面是我如何尝试使用它 curr = tokens[i].charAt(0); 2) 还存在将isEmpty()转换为C#语法的问题 3) 我应该如何将其转换为: op2 = compute.pop().intValue(); 谢谢 1)字符串可以使用[]运算符访问其字符: curr = (tokens[i])[0]; 2)

我正在将代码从Java转换为C#,但在确定一些关键字等价性时遇到了问题。我在网上查过了,什么也找不到。更新增加了第3条

1) 有人知道C#对charAt()的用法吗?下面是我如何尝试使用它

 curr = tokens[i].charAt(0);
2) 还存在将isEmpty()转换为C#语法的问题

3) 我应该如何将其转换为:

op2 = compute.pop().intValue();
谢谢

1)字符串可以使用[]运算符访问其字符:

curr = (tokens[i])[0];
2) IsEmpty变为
String.IsNullOrEmpty
String.IsNullOrWhiteSpace
,具体取决于所需内容(第二个选项也仅在.NET 4+中可用)


3) 从我的研究中可以发现,intValue似乎处理装箱/拆箱。如果您坚持使用int,那么在C#中就不必担心这一点。如果您有一个堆栈集合,“Pop”也会起同样的作用。希望这能给您足够的时间来转换该行。

假设
标记[i]
是一个
字符串
,将该字符串视为一个字符数组:

var firstCharacter = tokens[i][0];
假设
par
也是一个字符串,该方法可以帮助您测试特定字符串是否为空:

if (string.IsNullOrEmpty(par))
{
}
如果如您所示,
par
是一个
Stack
,那么您可以使用一个简单的LINQ位测试它是否为空(没有元素):

if (!par.Any())
{
    // par has no elements
}
或者,您可以使用
堆栈
类中的
计数
属性:

if (par.Count == 0)
{
    // par has no elements
}
1) 在
C#
中,字符串也是字符数组。因此,您可以使用索引器访问字符:

curr  = tokens[i][0]
2) 您可以将字符串与
string.Empty
进行比较,或者使用
string.IsNullOrEmpty
方法检查字符串是否为空:

if( par == string.Empty )
或:

另一种方法:

1) 您可以使用
curr=tokens[i].ElementAt(0)这将返回与字符(0)相同的结果




2)
if(string.IsNullOrEmpty(par))将完成这项工作。

请看:看括号是什么?@Selman22,因为我喜欢:)。它清楚地表明,它正在从tokens数组中取出字符串,然后将[]运算符应用于该字符串。另一种方式看起来可能是多维字符串数组。显然,语法对这两种情况都有效。你认为没有他们看起来更好吗?如果PAR是一个堆栈,我会怎么做?例如,我上面有:堆栈PAR=新StAcd();如果PAR是一个堆栈,我会怎么做呢?例如,我上面有:堆栈PAR=新StAcd();
if( par == string.Empty )
if( string.IsNullOrEmpty(par) );