相关疑难解决方法(0)

从当天的整数值获取一周的一天

我已将一周中的几天转换为各自的整数值.

例如:Tuesday, Thursday, FridayAs2,4,5

现在我需要回到整数的日子.

只是与我所做的相反.

问题的反向: 获取星期几的整数值

是否有一种简单的标准方法可以从C#中的整数值获取星期几,否则我将不得不使用方法执行手动计算?

c# asp.net dayofweek

24
推荐指数
4
解决办法
2万
查看次数

DateTime.DayOfWeek微优化

首先:

  1. 我问这个问题只是为了好玩和渴望学习.我不得不承认我喜欢搞微观优化(虽然他们从未在我的任何开发中导致任何显着的速度提升).

  2. DateTime.DayOfWeek方法并不代表我的任何应用中的瓶颈.

  3. 并且它不太可能 成为任何其他问题.如果有人认为这种方法对他的应用程序的性能有影响,他应该考虑何时进行优化,然后,他应该进行分析.

DateTime使用ILSpy 反编译类,我们了解如何DateTime.DayOfWeek实现:

[__DynamicallyInvokable]
        public DayOfWeek DayOfWeek
        {
            [__DynamicallyInvokable, TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
            get
            {
                return (DayOfWeek)((this.InternalTicks / 864000000000L + 1L) % 7L);
            }
        }


public long Ticks
{
    [__DynamicallyInvokable, TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
    get
    {
        return this.InternalTicks;
    }
}
Run Code Online (Sandbox Code Playgroud)

此方法执行以下操作:

  1. 与当天相对应的刻度除以一天中现有的刻度数.

  2. 我们在前面的结果中加1,以便除数7的余数在0和6之间.

这是计算星期几的唯一方法吗?

是否有可能重新实现它以使其运行更快?

c# performance datetime dayofweek micro-optimization

20
推荐指数
1
解决办法
9646
查看次数

如何使用整数值确定星期几,而另一个整数确定星期几?

如何使用整数值确定星期几,而另一个整数确定星期几?例如,如果今天是(为星期天输入一个类似0的整数),而我则输入整数2,则其为星期二。这是我到目前为止的代码:

namespace DayOfTheWeek
{
    class Program
    {
        static void Main(string[] args)
        {
            int Sunday=0;
            int Monday = 1;
            int Tuesday = 2;
            int Wednesday = 3;
            int Thursday = 4;
            int Friday = 5;
            int Saturday = 6;

            Console.WriteLine("Today is " + 0);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我真的很为难。

c#

-1
推荐指数
1
解决办法
39
查看次数