是否有与VB6的Choose()函数相当的C#?
day = Choose(month,31,28,30)
Run Code Online (Sandbox Code Playgroud)
Jør*_*ode 11
并不是的.您当然可以使用其索引的getter创建一个数组:
day = new[] { 31, 28, 30 }[month];
Run Code Online (Sandbox Code Playgroud)
或者,您可以 - 我不会 - 导入Microsoft.VisualBasic命名空间并执行:
day = Interaction.Choose(month, 31, 28, 30);
Run Code Online (Sandbox Code Playgroud)
我不知道您的示例有多简化,但如果您实际上正在寻找一种方法来查找特定月份的天数,请尝试DateTime.DaysInMonth():
day = DateTime.DaysInMonth(2008, 2);
// day == 29
Run Code Online (Sandbox Code Playgroud)
如果真的是一个月的日子,我会听从别人给出的建议.但是,如果你真的需要一个选择功能,你可以自己轻松地建立一个.例如这样:
public static T Choose<T>(int index, params T[] args)
{
if (index < 1 || index > args.Length)
{
return default(T);
}
else
{
return args[--index];
}
}
// call it like this
var day = Choose<int?>(1, 30, 28, 29); // returns 30
Run Code Online (Sandbox Code Playgroud)
我没有费心将第一个参数设为双,但这很容易做到.也可以制作非通用版本......
| 归档时间: |
|
| 查看次数: |
5408 次 |
| 最近记录: |