如何最好地将此Java方法转换为C#?

如何最好地将此Java方法转换为C#?,c#,java,C#,Java,我想把我的Java代码翻译成C语言,但是我很难找到String.equalsIgnoreCase和StringBuffer的等价物 这是我的Java语法: public static boolean isPalindrom (String _text) { return _text.equalsIgnoreCase(new StringBuffer(_text).reverse().toString()); } 这是我的C代码 那么这个呢: public static bool is

我想把我的Java代码翻译成C语言,但是我很难找到
String.equalsIgnoreCase
StringBuffer
的等价物

这是我的Java语法:

public static boolean isPalindrom (String _text)
{
     return _text.equalsIgnoreCase(new StringBuffer(_text).reverse().toString());
}
这是我的C代码

那么这个呢:

public static bool isPalindrome(string _text)
{
    return _text.SequenceEqual(_text.Reverse());
}
public static bool isPalindrome(string _text)
{
    var halfLen = (int)Math.Ceiling(_text.Length / 2.0);
    return _text.Take(halfLen).SequenceEqual(_text.Reverse().Take(halfLen));
}
和都是Linq的扩展方法。当然,您不必检查每个字符来测试字符串是否为回文。那么这个呢:

public static bool isPalindrome(string _text)
{
    return _text.SequenceEqual(_text.Reverse());
}
public static bool isPalindrome(string _text)
{
    var halfLen = (int)Math.Ceiling(_text.Length / 2.0);
    return _text.Take(halfLen).SequenceEqual(_text.Reverse().Take(halfLen));
}
要使此方法不区分大小写,只需执行以下操作:

public static bool isPalindrome(string _text)
{
    _text = _text.ToUpperInvariant();
    var halfLen = _text.Length / 2;
    return _text.Take(halfLen).SequenceEqual(_text.Reverse().Take(halfLen));
} 

为什么要这样做呢?我想翻译这个java代码返回_text.equalsIgnoreCase(newStringBuffer(_text.reverse().toString());对于c#…我有困难..StringBuffer在c中不适用,好吧,我想你解决了我的问题