पर "मुखौटा" लागू करें मेरे पास ध्वज गणना (int) मास्क है, और मुझे इसे एक सप्ताह के दिन का प्रतिनिधित्व करने वाली स्ट्रिंग में बदलने की आवश्यकता है।स्ट्रिंग
कहते हैं कि यह पूर्ण स्ट्रिंग और एक मनमाना मुखौटा
strFullWeek = "MTWtFSs"
strWeekMask = "0100110"
-----------------------
strResult = "-T--FS-"
किस तरह से आप पूरे सप्ताह और मुखौटा तार से strResult प्राप्त करने का प्रस्ताव होता है?
अद्यतन
यह मेरी "पूरे संदर्भ" (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)
आप किस बारे में अधिक चिंतित हैं? गति, रखरखाव/पठनीयता, कोड की कम से कम लाइनें? –