草庐IT

多语言切换

全部标签

C# 到 C#,方便的语言特性

我想了解C#的便利功能有哪些,以及它们如何映射到C#。例如,自动属性:publicstringFoo{get;set;}...映射到这样的东西:stringk__BackingField;[CompilerGenerated]publicstringFoo{get{returnthis.k__BackingField;}set{this.k__BackingField=value;}}foreach循环:foreach(charcin"Hello"){Console.WriteLine(c);}...映射到这样的东西(我认为):CharEnumeratoren;try{en="Hell

c# - 有人可以用真正简单的语言向我解释什么是闭包吗?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Whatare‘closures’in.NET?我目前正在研究lambda表达式,闭包一词不断出现。谁能用真正简单的语言向我解释一下。

c# - 我什么时候应该使用 "Invariant Language (Invariant Country)"作为程序集的中性语言?

目前我能想到三种情况:不包含任何资源的程序集在其资源文件中仅包含图像(即ToolBoxBitmaps)的控制库仅包含用于抛出异常的文本的库(无论如何我们都不希望用户看到这些,对吗?;-))我对这些案例的看法是否正确,还有其他我现在没有看到的案例吗? 最佳答案 仅仅因为一个库只包含非文本资源并不意味着它不需要本地化。图像也可能需要本地化,要么是因为它们包含文本,要么是因为它们受到文化偏见的显着影响(当然,我知道目前没有主要应用程序仅出于这个原因对图像进行本地化)。可能还有特定于语言/文化的声音文件。此外,仅仅因为库中的唯一文本是异常文

c# - 如何停止 Resharper 在 Enumerable.ToList 和 Select 建议之间切换

如果我使用Resharper代码清理功能,我会找到我的代码......varpersonInfos=persons.Select(Mapper.Map).ToList();改为...varpersonInfos=Enumerable.ToList(persons.Select(Mapper.Map));但随后Resharper为Enumerable.ToList提出了“Toextensionmethodinvocation”的建议,因此代码返回到...varpersonInfos=persons.Select(Mapper.Map).ToList();我已经检查了Resharper代码

c# - 功能 'interpolated strings' 在 C# 5 中不可用。请使用语言版本 6 或更高版本。

当我放入RazorView时,以下行无法编译。varextPropLookupNameCompania=$"extension_{SettingsHelper.ClientId.Replace("-","")}_{"Compania"}";但是在Controller中,同一行工作得很好。为什么我不能在RazorView上进行用户字符串插值?或者也许我需要配置一些东西? 最佳答案 如果您在.NETFramework4.5.1项目中遇到此错误,升级到4.5.2可以解决问题。 关于c#-功能'

c# - 获取不同语言的系统时区

我目前正在获取所有时区的列表,如下所示:varTheListOfAllTimezones=TimeZoneInfo.GetSystemTimeZones();例如,巴黎时区的DisplayName属性为W。欧洲标准时间。现在我如何获得另一种语言的列表?例如,对于法国用户,我想显示HeureEuropedel'Ouest。谢谢。 最佳答案 更改CurrentCulture不起作用,因为信息来自注册表(XP)或多语言用户界面(MUI)DLL(Vista、Windows7).在Vista或Windows7上,您可以安装其他语言并更改显示语

c# - 使用 OWIN 和异步方法的多语言网站

背景我正在使用ASP.NET4.6、C#、IIS上的OWIN管道(Microsoft.Owin.Host.SystemWeb)创建一个简单的多语言网站,大量异步方法调用和标准、全局资源文件(App_GlobalResources中的*.resx)。该网站使用MVC5、WebAPI2和Autofac作为依赖解析器。问题我无法正确更改生成页面的语言环境/区域性,因为异步方法对每个请求使用多个线程,而且我找不到设置Thread.Current[UI]Culture与给定请求关联的每个线程,因为这些属性不同步。我还希望保持干净的代码,不要让“异步/等待文化配置”弄乱有用的代码。代码启动.csp

c# - 为什么 C# 中的内置类型是语言关键字?

在C#中,int或string等标识符实际上是语言级别的关键字。这是什么原因?请注意,如果作者想要禁止使用这些名称的用户类型,那可能会造成语义错误,而不是语法错误。一些基于答案的澄清:它们是关键字,因为它使解析成为可能/更容易我不明白为什么,因为我正在开发一个解析器,并且Type.Rule=Identifier比Type.Rule=Identifier|简单得多。“诠释”|“字符串”|...。它们是关键字,因为它们是特殊的别名var和dynamic也是特殊的东西,但不是关键字(出于兼容性原因,尽管如此,它表明作为关键字不一定是特殊的)。在另一个示例中,将[Serializable]应用

c# - 单数/复数词的本地化 - 语法数字的不同语言规则是什么?

我一直在开发一个.NET字符串格式化库来协助应用程序的本地化。它称为SmartFormat并在GitHub上开源.它试图解决的问题之一是GrammaticalNumbers.这也称为“单数和复数形式”或“条件格式”,这是它在英语中的样子的片段:varmessage="There{0:is|are}{0}{0:item|items}remaining";//YoucanusetheSmart.FormatmethodjustlikeusingString.Format:varoutput=Smart.Format(CultureInfo.CurrentUICulture,message,

c# - 如何使用投影缓冲区来支持 Visual Studio 编辑器中的嵌入式语言

在这个link的第一段末尾它指出:TheVisualStudiotextoutliningfeatureisimplementedbyusingaprojectionbuffertohidethecollapsedtext,andtheVisualStudioeditorforASP.NETpagesusesprojectiontosupportembeddedlanguagessuchasVisualBasicandC#.我搜索了又搜索,但根本没有找到任何示例或文档来完成此操作,有人知道这是如何完成的吗?我已经进行了分类工作,并创建了一个跨度的投影缓冲区,我想将其归类为C#代码。我将