如何将 valuetype 设置为正整数?

naw*_*fal 5 .net c# typeof value-type c#-4.0

问题应该是不言自明的。我有一个 datagridview,其中有一列,其单元格在用户输入时应仅接受正整数。

那么我该如何设置这样的东西:

            dgv.Columns[i].ValueType = typeof(int > 0);
Run Code Online (Sandbox Code Playgroud)

??

当然,我可以在cellValueChanged事件中处理单独的验证。但是由于我已经在事件中自动处理了所有验证DataError(因为我为每列设置了 valueType),所以我希望在此处处理上述验证

    private void dgv_DataError(object sender, DataGridViewDataErrorEventArgs e)
    {
        // not fair..
        e.Cancel = true;
    }
Run Code Online (Sandbox Code Playgroud)

如何?

更新:因为我听到很多负面消息uint(如其中一个答案提出的),例如 uint 不符合 CLS、并非所有语言都支持它等,是否可以像上面那样仅用于验证目的?

Nuf*_*fin 6

问题的上半部分应该很容易解决,如下所示:

dgv.Columns[i].ValueType = typeof(uint);
Run Code Online (Sandbox Code Playgroud)

下面的部分完全看不懂。


Man*_*nas 6

声明uint类型变量

uint 的最小值为 0

最大 od uint 为 4294967295