更新从Java到C#的关键字等效性

时间:2014-04-22 23:58:56

标签: c# java

我正在将代码从Java转换为C#,但在解决某些关键字等效问题时遇到了问题。我查看了网络,无法找到任何内容。更新了已添加的数字3。

1)有没有人知道C#用于charAt()的是什么?以下是我尝试使用它的方法。

 curr = tokens[i].charAt(0);

2)还有将isEmpty()转换为C#语法的问题。

 if (par.isEmpty())

3)我应该如何转换它:

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

谢谢!

4 个答案:

答案 0 :(得分:3)

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

curr = (tokens[i])[0];

2)IsEmpty根据您的需要变为String.IsNullOrEmptyString.IsNullOrWhiteSpace(第二个仅在.NET 4+中可用)。

3)从我能找到的研究中,看起来intValue处理装箱/拆箱。如果你坚持使用整数,你不应该在C#中担心这一点。 "流行#34;如果你有一个Stack集合,它将工作相同。希望这足以让你转换线。

答案 1 :(得分:1)

假设tokens[i]string,请将字符串视为字符数组:

var firstCharacter = tokens[i][0];

假设par也是一个字符串,string.IsNullOrEmpty()方法可以帮助您测试特定字符串是否为空:

if (string.IsNullOrEmpty(par))
{
}

如果par是您所指示的Stack<String>,那么您可以使用简单的LINQ来测试它是否为空(没有元素):

if (!par.Any())
{
    // par has no elements
}

或者,您可以使用Count类中的Stack属性:

if (par.Count == 0)
{
    // par has no elements
}

答案 2 :(得分:1)

1)在C#中,字符串也是一个字符数组。因此,您可以使用索引器访问字符:

curr  = tokens[i][0]

2)您可以将字符串与string.Empty进行比较,或使用String.IsNullOrEmpty方法检查字符串是否为空:

if( par == string.Empty )

OR:

if( string.IsNullOrEmpty(par) );

答案 3 :(得分:1)

另一种方法:

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



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