Tengo una máscara de enumeración de banderas (int) y debo convertirla en una cadena que represente el día de una semana.Aplicar una "máscara" a una cadena
decir que esto es la cadena completa y una máscara arbitraria
strFullWeek = "MTWtFSs"
strWeekMask = "0100110"
-----------------------
strResult = "-T--FS-"
qué manera propondría para strResult obtiene a partir de la semana y la máscara de cadenas llenas?
ACTUALIZACIÓN
esta es mi "contexto entero" (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)
¿Qué es lo que más te preocupa? Velocidad, facilidad de mantenimiento/legibilidad, menos líneas de código? –