2 回答
TA贡献1851条经验 获得超3个赞
像这样:
public (DateTime Start, DateTime End) DateRanges
{
get
{
return (DateTime.MinValue, DateTime.MaxValue);
}
}
注意:这需要最新版本的 C# 和 .Net。
顺便提一下,注意这种使用模式:
var from = filter?.DateRanges.Start;
var to = filter?.DateRanges.End;
这是低效的,因为它会导致创建两个相同的元组。
这个更好:
var range = filter?.DateRanges;
if (range.HasValue)
{
var from = range.Value.Start;
var to = range.Value.End;
}
但是请注意,元组不能为空(它们是值类型),因此您可以这样编写:
if (filter != null)
{
var range = filter.DateRanges;
var from = range.Start;
var to = range.End;
...
}
TA贡献1772条经验 获得超5个赞
class Program
{
static void Main(string[] args)
{
test t = new test();
Console.WriteLine(t.NamedTuple.start);
Console.WriteLine(t.NamedTuple.stop);
Console.Read();
}
}
class test
{
DateTime From;
DateTime To;
public (DateTime start, DateTime stop) NamedTuple
{
get
{
From = DateTime.Now.AddDays(-1).Date.AddMonths(-1);
To = DateTime.Now.AddDays(-1).Date;
return (From, To);
}
}
}
- 2 回答
- 0 关注
- 150 浏览
添加回答
举报