Конференция ".Net" » Set-конструкция в C# [C#]
 
  • Юный Шарпер (28.10.05 15:46) [0]
    Я конечно понимаю что неплохо самому референс почитать, но мсдна под рукой нет.

    Подскажите пожалуйста как сделать аналог например этого Delphi-кода на C#:

    type
     TDaysOfWeek = (wdMonday, wdTuesday, wdWednesday, wdThursday, wdFriday, wdSatarday, wdSunday); // мог сделать грам. ошибку
     THollydaysOfWeek: set of TDaysOfWeek = [wdSatarday, wdSunday];



    Заранее спасибо
  • Курдль © (28.10.05 16:15) [1]
    В чистом виде аналога нет. Есть
    enum



    А вот MSDN: http://msdn.microsoft.com/library/rus/default.asp?url=/library/RUS/cpref/html/frlrfsystemenummemberstopic.asp
  • Юный Шарпер (28.10.05 16:22) [2]
    Ой я чушь написал, надо было:

    type
    TDaysOfWeek = (wdMonday, wdTuesday, wdWednesday, wdThursday, wdFriday, wdSatarday, wdSunday);

    const
    HollydaysOfWeek: set of TDaysOfWeek = [wdSatarday, wdSunday];

    > Курдль ©   (28.10.05 16:15) [1]

    Черт, я постоянно забываю об онлайновом мсдне. Спасибо.
  • DiamondShark © (28.10.05 18:24) [3]
    Аналог множества -- enum с атрибутом Flags

    [Flags]
    public enum DaysOfWeek
    {
     Monday,
     Tuesday,
     Wednesday,
     Thursday,
     Friday,
     Satarday,
     Sunday
    }

    public const DaysOfWeek HollydaysOfWeek = DaysOfWeek.Satarday | DaysOfWeek.Sunday;
  • Юный Шарпер (31.10.05 13:55) [4]

    > DiamondShark ©   (28.10.05 18:24) [3]


    Спасибо, но как я понял, нужно еще присваивать значения константам:


    [Flags]
    public enum DaysOfWeek
    {
    Monday = 0,
    Tuesday = 1,
    Wednesday = 2,
    Thursday = 4,
    Friday = 8,
    ...
    }

  • DiamondShark © (31.10.05 18:34) [5]

    > Юный Шарпер   (31.10.05 13:55) [4]

    Точно. Забыл.
    Присвоить значения степеней двойки.


    > Monday = 0,

    А вот так не надо ;)
 
Конференция ".Net" » Set-конструкция в C# [C#]
Есть новые Нет новых   [120164   +165][b:0][p:0.001]