帮助检查字符串中的数值是否为奇数C#

本文关键字:是否 帮助 字符串 检查 | 更新日期: 2023-09-27 18:00:12

我有一个返回值5K23的方法GetOption(5),我需要得到字符串的最后两个字符,因为这个值是字符串值,所以我需要使用我尝试过的Substring

if( Convert.ToInt32(GetOption(5).Substring(GetOption(5).Length-2, 2) % 2 == 1) )

我似乎做不好,有人能帮我吗。

感谢

帮助检查字符串中的数值是否为奇数C#

您并不需要最后两位数字来确定数字是否为奇数

var option = GetOption(5);
var isOdd = int.Parse(option[option.Length - 1].ToString()) % 2 == 1;
var t = "5K23";
var regex = new Regex(@"'d{2}$");
var match = regex.Match(t);
if (match.Success)
{
    var extracted = match.Value;
    // Do more stuff
}

我喜欢@Lukáš的答案(+1),但您的代码不起作用的原因是…

Convert.ToInt32
(
    GetOption(5).Substring
    (
        GetOption(5).Length-2, 2
    ) % 2 == 1
)

paren分组不正确您正在将<long thing> % 2 == 1传递给Convert.ToInt32()

尽量保持线条简洁易读。

var s = GetOption(5);
if(Convert.ToInt32(s.Substring(s.Length-2, 2)) % 2 == 1)
{
    // do stuff
}
    int x;
    string option = GetOption(5);
    if (Int32.TryParse(option.Substring(option.Length - 2), out x) && x % 2 == 1)