0

我正在使用DateTimeFormatInfo.DayNamesProperty 来获取一周的全天名称,我想获取星期几的 id,我已经看到了很多答案,但我正在寻找使用此属性的解决方案。

如何获得一周中所有天的整数?

  days_in_arabic = new CultureInfo("ar-AE").DateTimeFormat.DayNames; 

//  this will return the days of week in arabic format.

更新:

我现在的问题是如何获取枚举的索引DayOfWeek以将其存储到整数数组中?

我怎样才能得到一个数组作为这样的输出:

[0,1,2,3,4,5,6]

并且这个数组应该与星期几兼容,我已经有一个由天数组填充的组合框,所以我需要将从组合框中选择的这些天的索引存储到数据库中。

在此处输入图像描述

  • 根据@JL0PD 的回答。

    var daysid = Enum.GetNames(typeof(DayOfWeek));
          var daysid2 = Enum.GetValues(typeof(DayOfWeek));
    
          foreach(string name in daysid)
          {
              Console.WriteLine("Day1 is " + name);
    
          }
          foreach(var day2 in daysid2)
          {
              Console.WriteLine("Day2 is " + day2);
    
          }
    

我已经测试了他在评论中所说的话,这是我得到的:

Day1 is Sunday
Day1 is Monday
Day1 is Tuesday
Day1 is Wednesday
Day1 is Thursday
Day1 is Friday
Day1 is Saturday
Day2 is Sunday
Day2 is Monday
Day2 is Tuesday
Day2 is Wednesday
Day2 is Thursday
Day2 is Friday
Day2 is Saturday
4

2 回答 2

1

如果认为您获得的数组将与“DayOfWeek”枚举的顺序相同。因此,遵循自然顺序并从星期日开始。

https://docs.microsoft.com/en-us/dotnet/api/system.dayofweek?view=net-5.0

重新编辑:@Enigmativity 在评论中提出的解决方案:

Enum.GetValues(typeof(DayOfWeek)).Cast<int>().ToArray()
于 2021-03-01T10:27:14.880 回答
-1

您可以简单地执行此操作来获取DayOfWeek枚举的值:

int[] values = Enum.GetValues(typeof(DayOfWeek)).Cast<int>().ToArray();

或者:

int[] values = typeof(DayOfWeek).GetEnumValues().Cast<int>().ToArray();
于 2021-03-01T11:09:40.697 回答