Articles of c #

¿Cuál es el propósito de los bloques {} anónimos en los lenguajes de estilo C?

¿Cuál es el propósito de los bloques {} anónimos en los lenguajes de estilo C (C, C ++, C #)? Ejemplo – void function() { { int i = 0; i = i + 1; } { int k = 0; k = k + 1; } } Editar – ¡Gracias por todas las excelentes […]

¿Cómo inicializar correctamente la variable miembro del tipo de plantilla?

sugiero que tengo una función de plantilla como la siguiente: template void doSomething() { T a; // a is correctly initialized if T is a class with a default constructor … }; Pero la variable a deja sin inicializar, si T es un tipo primitivo. Puedo escribir T a (0), pero esto no funciona si […]

Sobre cómo reconocer la referencia Rvalue o Lvalue y la regla if-it-has-a-name

Estaba leyendo el artículo de Thomas Becker sobre la referencia rvalue y su uso. Allí define lo que llama regla de si-tiene-un-nombre : Las cosas que se declaran como referencia rvalue pueden ser lvalues ​​o rvalues. El criterio distintivo es: si tiene un nombre, entonces es un valor l. De lo contrario, es un valor […]

xml.LoadData: los datos en el nivel raíz no son válidos. Línea 1, posición 1

Estoy tratando de analizar algunos XML dentro de un instalador de WiX. El XML sería un objeto de todos mis errores devueltos desde un servidor web. Recibo el error en el título de la pregunta con este código: XmlDocument xml = new XmlDocument(); try { xml.LoadXml(myString); } catch (Exception ex) { System.IO.File.WriteAllText(@”C:\text.txt”, myString + “\r\n\r\n” […]

Cómo dividir archivos grandes de manera eficiente

Me gustaría saber cómo puedo dividir un archivo grande sin utilizar demasiados recursos del sistema. Actualmente estoy usando este código: public static void SplitFile(string inputFile, int chunkSize, string path) { byte[] buffer = new byte[chunkSize]; using (Stream input = File.OpenRead(inputFile)) { int index = 0; while (input.Position < input.Length) { using (Stream output = File.Create(path […]

Obtenga caracteres compatibles de una fuente: en C #

Tengo una fuente de terceros con soporte para caracteres japoneses que necesito usar para una aplicación. Siempre que un carácter no sea compatible con esta fuente, se dibujará el rectángulo que se ve a menudo (“carácter predeterminado”). Obviamente no todos los caracteres japoneses son compatibles, porque si trato de dibujar las traducciones que nos dio […]

asignando vectores (o vectores de vectores) dinámicamente

Necesito asignar dinámicamente matrices 1-D y 2-D cuyos tamaños se entregan en tiempo de ejecución. Logré “descubrir” std::vector y creo que se ajusta a mis propósitos, pero me gustaría preguntar si lo que he escrito es correcto y / o se puede mejorar. Esto es lo que estoy haciendo: #include typedef std::vector< std::vector > matrix; […]

Cómo especifico que una propiedad debería generar una columna TEXT en lugar de un nvarchar (4000)

Estoy trabajando con la característica Code First de Entity Framework y estoy tratando de averiguar cómo puedo especificar los tipos de datos de columna que se deben crear cuando la base de datos se genera automáticamente. Tengo un modelo simple: public class Article { public int ArticleID { get; set; } public string Title { […]

Metaprogtwigción de plantillas C ++: ¿es posible generar el código generado?

Me gustaría depurar algún código de plantilla para entenderlo mejor. Lamentablemente, soy nuevo en la metaprogtwigción de plantillas y ES difícil para mí entrar. Cuando trato de generar los archivos fuente preprocesados ​​obtengo 125 000 líneas de código: / Entonces, ¿hay alguna manera de ver el Código generado? (La biblioteca que estoy usando es SeqAn […]

Una mejor manera de reemplazar muchas cadenas: ofuscación en C #

Intento confundir una gran cantidad de datos. He creado una lista de palabras (tokens) que quiero reemplazar y estoy reemplazando las palabras una por una usando la clase StringBuilder, así: var sb = new StringBuilder(one_MB_string); foreach(var token in tokens) { sb.Replace(token, “new string”); } ¡Es bastante lento! ¿Hay alguna cosa simple que pueda hacer para […]