Estou criando um dicionário em um arquivo C # com o seguinte código:
private readonly Dictionary<string, XlFileFormat> FILE_TYPE_DICT
= new Dictionary<string, XlFileFormat>
{
{"csv", XlFileFormat.xlCSV},
{"html", XlFileFormat.xlHtml}
};
Há uma linha vermelha abaixo new
com o erro:
O recurso 'inicializador de coleções' não pode ser usado porque não faz parte da especificação de idioma ISO-2 C #
Alguém pode explicar o que está acontecendo aqui?
EDIT: ok, então acontece que eu estava usando o .NET versão 2.
c#
dictionary
azrosen92
fonte
fonte
.cs
arquivo que é compilado pelo Visual Studio ou em um arquivo.cshtml
? O arquivo dolanguageVersion
seu projeto tem um elemento ?Respostas:
Não consigo reproduzir esse problema em um aplicativo de console simples do .NET 4.0:
Você pode tentar reproduzi-lo em um aplicativo simples do console e partir daí? Parece provável que você esteja direcionando o .NET 2.0 (que não o suporta) ou a estrutura de perfil do cliente, em vez de uma versão do .NET que suporte a sintaxe de inicialização.
fonte
Com o C # 6.0, você pode criar um dicionário da seguinte maneira:
Até funciona com tipos personalizados.
fonte
Você pode inicializar um
Dictionary
(e outras coleções) em linha. Cada membro é contido com chaves:Veja MSDN para detalhes.
fonte
Suponha que tenhamos um dicionário como este
Podemos inicializá-lo da seguinte forma.
fonte
Os inicializadores de objetos foram introduzidos no C # 3.0, verifique qual versão da estrutura você está direcionando.
Visão geral do C # 3.0
fonte
com c # 6.0
fonte