c# - int.TryParse = null 如果不是数字?

标签 c# .net tryparse

如果无法将字符串解析为 int,是否有返回 null 的方法?

与:

public .... , string? categoryID) 
{
int.TryParse(categoryID, out categoryID);

获取“无法从‘out string’转换为‘out int’”

怎么办?

编辑:

由于asp.net的限制不再相关是解决问题的方法

/M

最佳答案

首先,为什么要尝试将字符串解析为 int 并将结果粘贴回字符串?

方法签名是

bool int.TryParse(string, out int)

所以你必须给一个 int 类型的变量作为第二个参数。这也意味着如果解析失败,您将不会得到 null,相反该方法将简单地返回 false。但您可以轻松地将它们拼凑起来:

int? TryParse2(string s) {
    int i;
    if (!int.TryParse(s, out i)) {
        return null;
    } else {
        return i;
    }
}

关于c# - int.TryParse = null 如果不是数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1729455/

相关文章:

c# - 发布到 Event Aggregator 的每个小事件都需要是一个空的 CompositePresentationEvent 吗?

c# - .NET 进程间通信的最佳选择是什么?

c# - 使用 MEF 加载带有嵌入式库的 DLL

c# - 为什么 C# TryParse 不处理 NaN?

c# - 在 NancyFX 自主机单例中调用关闭任务

c# - 如何绑定(bind)剑道网格

c# - Parse 诉 TryParse

C# 如何在循环外使用一个在循环内从 string 变为 int 的变量?

c# - Include() 不能用作 LEFT JOIN( Entity Framework 6)

.net - 具有强制抗锯齿功能的 EMF