Referencia de C#C# Reference

En esta sección se proporciona material de referencia sobre palabras clave, operadores, caracteres especiales, directivas de preprocesador, opciones del compilador y errores y advertencias del compilador de C#.This section provides reference material about C# keywords, operators, special characters, preprocessor directives, compiler options, and compiler errors and warnings.

En esta secciónIn This Section

Palabras clave de C#C# Keywords
Ofrece vínculos para información sobre palabras clave de C# y sintaxis.Provides links to information about C# keywords and syntax.

Operadores de C#C# Operators
Ofrece vínculos para información sobre operadores de C# y sintaxis.Provides links to information about C# operators and syntax.

Caracteres especiales de C#C# Special Characters
Proporciona vínculos a información sobre los caracteres especiales contextuales en C# y su uso.Provides links to information about special contextual characters in C# and their usage.

Directivas de preprocesador de C#C# Preprocessor Directives
Ofrece vínculos para información sobre los comandos del compilador para incrustar en código fuente de C#.Provides links to information about compiler commands for embedding in C# source code.

Opciones del compilador de C#C# Compiler Options
Incluye información sobre las opciones del compilador y cómo usarlas.Includes information about compiler options and how to use them.

Errores del compilador de C#C# Compiler Errors
Incluye fragmentos de código que muestran la causa y la corrección de errores y advertencias del compilador de C#.Includes code snippets that demonstrate the cause and correction of C# compiler errors and warnings.

Especificación del lenguaje C#C# Language Specification
Especificación del lenguaje C# 6.0The C# 6.0 language specification. Se trata de un borrador de propuesta para el lenguaje C# 6.0.This is a draft proposal for the C# 6.0 language. Este documento se perfeccionará por medio del trabajo con el comité de normas de C# de ECMA.This document will be refined through work with the ECMA C# standards committee. La versión 5.0 se ha publicado en diciembre de 2017 como el documento Norma ECMA-334 estándar, quinta edición.Version 5.0 has been released in December 2017 as the Standard ECMA-334 5th Edition document.

Las características que se han implementado en versiones de C# posteriores a 6.0 se representan en las propuestas de especificación del lenguaje.The features that have been implemented in C# versions after 6.0 are represented in language specification proposals. Estos documentos describen los deltas de la especificación del lenguaje con el fin de agregar estas nuevas características.These documents describe the deltas to the language spec in order to add these new features. Están en formato de propuesta de borrador.These are in draft proposal form. Estas especificaciones se perfeccionarán y enviarán al comité de normas de ECMA para su revisión formal e incorporación a una versión futura del estándar de C#.These specifications will be refined and submitted to the ECMA standards committee for formal review and incorporation into a future version of the C# Standard.

Propuestas de especificación de C# 7.0C# 7.0 Specification Proposals
Hay una serie de nuevas características implementadas en C# 7.0.There are a number of new features implemented in C# 7.0. Entre ellas, está la coincidencia de patrones, las funciones locales, las declaraciones de variable out, las expresiones throw, los literales binarios y los separadores de dígitos.They include pattern matching, local functions, out variable declarations, throw expressions, binary literals, and digit separators. Esta carpeta contiene las especificaciones para cada una de esas características.This folder contains the specifications for each of those features.

Propuestas de especificación de C# 7.1C# 7.1 Specification Proposals
Se han agregado nuevas características en C# 7.1.There are new features added in C# 7.1. En primer lugar, puede escribir un método Main que devuelva Task o Task<int>.First, you can write a Main method that returns Task or Task<int>. Esto le permite agregar el modificador async a Main.This enables you to add the async modifier to Main. La expresión default puede usarse sin tipo en ubicaciones en las que sea posible inferir el tipo.The default expression can be used without a type in locations where the type can be inferred. Además, se pueden inferir los nombres de los miembros de las tuplas.Also, tuple member names can be inferred. Por último, se puede usar la coincidencia de patrones con genéricos.Finally, pattern matching can be used with generics.

Propuestas de especificación de C# 7.2C# 7.2 Specification Proposals
Se han agregado una serie de pequeñas características a C# 7.2.C# 7.2 added a number of small features. Puede pasar argumentos por referencia de solo lectura mediante la palabra clave in.You can pass arguments by readonly reference using the in keyword. Se han realizado diversos cambios de bajo nivel para admitir la seguridad en tiempo de compilación para Span y tipos relacionados.There are a number of low-level changes to support compile-time safety for Span and related types. Puede usar argumentos con nombre donde los argumentos posteriores son posicionales, en algunos casos.You can use named arguments where later arguments are positional, in some situations. El modificador de acceso private protected permite especificar que los llamadores se limitan a los tipos derivados que se implementan en el mismo ensamblado.The private protected access modifier enables you to specify that callers are limited to derived types implemented in the same assembly. El operador ?: se puede resolver en una referencia a una variable.The ?: operator can resolve to a reference to a variable. También puede dar formato a números hexadecimales y binarios con un separador de dígito inicial.You can also format hexadecimal and binary numbers using a leading digit separator.

Propuestas de especificación de C# 7.3C# 7.3 Specification Proposals
C# 7.3 es otra versión secundaria que incluye una serie de pequeñas actualizaciones.C# 7.3 is another point release that includes several small updates. Puede usar nuevas restricciones en parámetros de tipo genérico.You can use new constraints on generic type parameters. Otros cambios hacen que sea más fácil trabajar con campos fixed, incluido el uso de asignaciones stackalloc.Other changes make it easier to work with fixed fields, including using stackalloc allocations. Las variables locales declaradas con la palabra clave ref puede reasignarse para que hagan referencia a un almacenamiento nuevo.Local variables declared with the ref keyword may be reasssigned to refer to new storage. Puede colocar atributos en propiedades implementadas automáticamente que tengan como destino el campo de respaldo generado por el compilador.You can place attributes on auto-implemented properties that target the compiler-generated backing field. Se pueden usar variables de expresión en inicializadores.Expression variables can be used in initializers. Las tuplas pueden compararse para comprobar si son iguales (o si no lo son).Tuples can be compared for equality (or inequality). Además, se han realizado algunas mejoras en la resolución de sobrecarga.There have also been some improvements to overload resolution.

Propuestas de especificación de C# 8.0C# 8.0 Specification Proposals
C# 8.0 está disponible con .NET Core 3.0.C# 8.0 is available with .NET Core 3.0. Entre las características se incluyen tipos de referencia que aceptan valores NULL, coincidencia de patrones recursiva, métodos de interfaz predeterminados, secuencias asincrónicas, intervalos e índices, using basado en patrones y declaraciones using, asignación de uso combinado de NULL y miembros de instancia de solo lectura.The features include nullable reference types, recursive pattern matching, default interface methods, async streams, ranges and indexes, pattern based using and using declarations, null coalescing assignment, and readonly instance members.

Guía de C#C# Guide
Ofrece un portal para la documentación de Visual C#.Provides a portal to Visual C# documentation.

Usar el entorno de desarrollo de Visual C#Using the Visual Studio Development Environment for C#
Ofrece vínculos para los temas de tareas y conceptos y temas que describen el IDE y el Editor.Provides links to conceptual and task topics that describe the IDE and Editor.

Guía de programación de C#C# Programming Guide
Incluye información sobre cómo usar el lenguaje de programación de C#.Includes information about how to use the C# programming language.