#60 por qué? Por tener los registros desperdigados por la codebase?
Me piden pasar un proyecto de Asp.net a Asp.net Core, alguien lo ha hecho? consejos? horas?
Es un proyecto mediano, y tengo que dar estimación... >.<
Hola, estoy empezando a programar y me ha surgido una pequeña duda, a ver si me podéis echar una mano.
Si tengo:
[Flags]
enum Color: byte
{
None = 0b_0000_0000,
Negro = 0b_0000_0001,
Blanco = 0b_0000_0010,
Gris = 0b_0000_0100,
}
Y después hago:
Color color = Color.Negro | Color.Blanco;
¿Puedo obtener un array que almacene los valores o los nombres de las constantes almacenadas en 'color'?
He probado con Enum.GetValues y Enum.GetNames, pero claro, 'color' no es una enumeración y no he conseguido hacer que funcione.
Quería el array con la idea de usarlo para hacer un filtrado de los tipo Color ya añadidos a color en un método que lee colores por consola y que solicitase al usuario la entrada de un color diferente si ése ya había sido añadido.
Muchas gracias.
#66 si se puede, solo te faltaba usar Enum.Parse
:
using System;
namespace ConsoleApp3
{
class Program
{
[Flags]
enum Color : byte
{
None = 0b_0000_0000,
Negro = 0b_0000_0001,
Blanco = 0b_0000_0010,
Gris = 0b_0000_0100,
}
static void Main(string[] args)
{
Color color = Color.Negro | Color.Blanco;
Console.Write("Colores en la variable: ");
foreach (var nombreColor in Enum.GetNames(typeof(Color)))
{
var valorColor = Enum.Parse(typeof(Color), nombreColor);
if (color.HasFlag((Enum)valorColor))
{
Console.Write(nombreColor + ", ");
}
}
Console.ReadKey();
}
}
}
Colores en la variable: None, Negro, Blanco,
#67 Ostras, muchas gracias por responder y tomarte la molestia. No conocía el método HasFlags, muy interesante. Creo que más o menos entiendo lo que has hecho. Con el bucle estás parseando cada nombre del enum Color para luego imprimirlo por consola si coincide con los flags almacenados en color, pero no entiendo exactamente cómo hacer lo que que quería para meter esos nombreColor en un array de cadenas en lugar de imprimirlos en consola.
¿Podría meter un contador dentro del bucle para sumar 1 cada vez que la condición del HasFlags se cumpla y utilizar el contador como índice de un array vacío (que iría redimensionado también cuando se cumpla la condición) en el que añadir ese nombreColor?
Perdona si soy un poco cansino, xD gracias de nuevo.
#68 te explico mas o menos como pueda:
Enum.GetNames
te devuelve un array con todos los nombres de los valores de un enum; en este caso, estara devolviendo [ "None", "Negro", "Blanco", "Gris"].- Con el
foreach
los recorremos todos unos por uno. - Por cada nombre de color, usamos
Enum.Parse
para, a partir de una string que contenga el nombre de un valor del enum, obtener su valor; para la string "Negro" devolvera Color.Negro, para "Blanco" Color.Blanco, y sucesivamente.
Para lo que quieres hacer, simplemente create un List<string> listaColores
fuera del bucle y dentro de la condicion, en vez de hacer el Console.Write
haz listaColores.Add(nombreColor)
.
Te recomiendo que aprendas a perderle el miedo al debugger cuanto antes y aprendas como poner breakpoints e inspeccionar variables, en mi opinion como mas se aprende es examinando codigo ya existente
#69 Me ha quedado claro, mucha gracias por la explicación. Voy poquito a poco intentando consolidar conceptos conforme los voy viendo y aún no había llegado a las lista, por eso estaba intentando hacerlo con lo que había visto hasta ahora. Tengo mucho de sintaxis básica aún por aprender. Muy amable por tus comentarios.
#70 si no es mucha molestia cómo estás estudiándolo ? Y si estas siguiendo algún libro o curso, que opinión tienes hasta ahora y como lo llevas?
#72 "nunca digas de este agua no bebere, este cura no es mi padre ni esta polla no me cabe".
Aprovecha para contar que tal tu experiencia.
Buenas, soy una persona con 0 conocimiento de código, no me dedico (ni quiero hacerlo) profesionalmente, pero me llama la atención como hobby por unas herramientas de servidores de X juego.
He mirado cursos de C# y Java, pero no sé por donde empezar, casi todos son del tipo si haces esto pasa esto y siento que estoy copiando y pegando más que aprendiendo, por lo que vengo a pediros consejo, aviso que no tengo prisa en aprenderlo ya que tengo otro trabajo y obligaciones y no dispongo de muchas horas al día, por lo que me enfoco en lo básico y como hobby, pero si quiero notar avances de aquí a 2 años vista.
Recomendaciones?
#76 cuando termines el copia pega intentar hacer algo tú solo desde 0.
Un objetivo real y luego empezar a escalar la dificultad.
#75 yo te diria que empezaras por el mitico yellow book of c#: http://www.csharpcourse.com/
Hace una aplicacion simple de banca paso a paso y explicando el porque. Es como empece viniendo desde Java.
Despues lo que te comentan, hacer algo desde 0: Una calculadora, un gestor de una tienda facilito sin base de datos...
¿Conocéis alguna librería sencilla que pueda usar para leer de y escribir en excel?
Tengo una carpeta con 3-4k libros de excel, en cada libro hay una hoja con una plantilla que se rellena diariamente con ciertos valores. Me gustaría poder hacer algo que lea los datos de 3 celdas concretas de cada una de esas plantillas y los escriba en filas de única hoja de cálculo en otro archivo.
Me he encontrado el panorama y ahora resulta que por X motivos hay que analizar esos valores en busca de errores y se supone que tengo que extraerlos a mano uno a uno..., y la verdad, no es que me apetezca demasiado. Tengo conocimientos básicos de programación, concretamente con C#, aunque no sé si es la mejor herramienta para hacerlo, pero nunca he intentado algo similar.
¿Alguna idea?
Gracias.
#84 ¡Gracias!
Estoy leyendo la documentación y creo que antes de nada tendría que convertir la hoja que me interesa del libro .xlsx a .csv. He dicho que los libros tenían una única hoja, pero no, me he columpiado, son 3.
#85 syncfusion tiene la librería XlsIO con alguna licencia Community si mal no creo recordar, échale un ojo.
#85 Si no es CSV y es XLS/XLSX tendrás que usar NPOI: