我有一個標記枚舉(int)掩碼,我需要將其轉換爲表示一週的日期的字符串。將「掩碼」應用於字符串
說這是滿弦和任意麪具
strFullWeek = "MTWtFSs"
strWeekMask = "0100110"
-----------------------
strResult = "-T--FS-"
你會提出從全周和掩碼串獲得strResult什麼辦法嗎?
UPDATE
這是我的 「全方面」(VB.NET)
<Flags()> Public Enum Week
Monday = 1
Tuesday = 2
Wednesday = 4
Thursday = 8
Friday = 16
Saturday = 32
Sunday = 64
End Enum
Dim mondayOrSunday = Week.Monday Or Week.Sunday
Dim strDays = "MTWtFSs"
Dim strMondayOrSundayBinary = Convert.ToString(
mondayOrSunday, 2).PadRight(7, CChar("0"))
Dim charMondayOrSunday = strDays.Zip(
strMondayOrSundayBinary,
Function(day, mask) If(mask = CChar("1"), day, CChar("-"))).ToArray()
Dim strMondayOrSunday = New String(charMondayOrSunday)
Console.WriteLine("{0} I see as {1}",
mondayOrSunday,
strMondayOrSunday)
你最關心的是什麼?速度,可維護性/可讀性,最少的代碼行? –