从Java到C#的UPDATE关键字等价性

本文关键字:关键字 UPDATE Java | 更新日期: 2023-09-27 17:59:22

我正在将代码从Java转换为C#,但在计算一些关键字等价性时遇到了问题。我浏览了一下网页,什么也找不到。更新了添加的编号3。

1) 有人知道C#对charAt()使用什么吗?以下是我如何尝试使用它。

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

2) 在将isEmpty()转换为C#语法时也存在问题。

 if (par.isEmpty())

3) 我应该如何转换这个:

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

谢谢!

从Java到C#的UPDATE关键字等价性

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

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

2) IsEmpty变为String.IsNullOrEmptyString.IsNullOrWhiteSpace,具体取决于您想要什么(第二个也仅在.NET 4+中可用)。

3) 从我能找到的研究来看,intValue似乎处理装箱/取消装箱。如果您坚持使用int,那么在C#中就不必担心这一点。如果你有一个Stack集合,"Pop"也会起作用。希望这能给你足够的时间来转换线路。

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

curr  = tokens[i][0]

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

if( par == string.Empty )

或:

if( string.IsNullOrEmpty(par) );

假设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
}

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

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

一种不同的方法:

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



2) if( string.IsNullOrEmpty(par) );会做这项工作。