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

时间:2011-06-24 17:59:24

标签: c# substring

我有方法GetOption(5),返回值5K23,我需要获取字符串的最后两个字符,事物是值是字符串值,所以我需要使用{ {1}}我尝试过:

Substring

我似乎无法做对,任何人都可以帮助我。

由于

4 个答案:

答案 0 :(得分:7)

你真的不需要最后两位数来确定数字是否是奇数

var option = GetOption(5);
var isOdd = int.Parse(option[option.Length - 1].ToString()) % 2 == 1;

答案 1 :(得分: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
}

答案 2 :(得分:1)

我喜欢@Lukáš' answer(+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
}

答案 3 :(得分:0)

    int x;
    string option = GetOption(5);
    if (Int32.TryParse(option.Substring(option.Length - 2), out x) && x % 2 == 1)