草庐IT

language-design

全部标签

windows - 'Language neutral' 对 MAKELANGID 意味着什么?

MAKELANGID的文档指定MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL)表示“语言中性”。这在我的机器上似乎是英文的(用FormatMessage试过),但它通常是什么意思?是否保证是英文?谢谢! 最佳答案 我期望这意味着与langid关联的字符串不特定于任何语言-这对于本地化团队来说可能很有用。“%1+%2=%3”就是这样一个字符串的例子。 关于windows-'Languageneutral'对MAKELANGID意味着什么?,我们在StackO

c# - 为什么 Xamarin android Designer 在打开 *.axml 文件时不显示在 visual studio 2012 中

我正在使用VisualStudio2012和Xamarin创建一个Android应用程序,但是当我尝试打开任何*.axml文件(包含android布局和设计以及其他元素)时,它应该显示一个所见即所得的可视化IDE,所以我编辑东西easyllly但它无法加载所见即所得并给我错误“操作无法完成。无效指针“我使用gtksharp2.12.21、mono-android4.6.06000、JDK6、android-ndk-r8e-windows-x86、XamarinStudio4.0.8我还包括图像,见下文谁能告诉我如何解决这个问题 最佳答案

c# - 为什么动态调用返回动态结果?

publicstringFoo(objectobj){returnnull;}publicstringFoo(stringstr){returnnull;}varx=Foo((dynamic)"abc");为什么x是动态的,编译器不够智能或者我错过了一些重要的东西? 最佳答案 我只是猜测,但是...当您向dynamic添加强制转换时,整个表达式将变为动态表达式。动态表达式的结果总是动态的,因为一切都在运行时解决。查看有关使用dynamic的MSDN页面以获取更多信息:UsingTypedynamic(C#ProgrammingGui

c# - ListBox Groupstyle 显示 : How to design a group name?

我想在列表框中按创建日期对我的项目(图像)进行分组。然后我只使用这段代码:但是当我尝试应用某些样式(即边框)时,我没有显示任何组名。只有边框这是我使用DateTime进行分组的新实现:这是我主窗口中的ICollectionView:ICollectionViewview=CollectionViewSource.GetDefaultView(CollectedFiles);view.GroupDescriptions.Add(newPropertyGroupDescription("DateCreated",newDateTimeToDateConverter()));view.Sor

c# - 从 char 到单字符串的隐式转换

首先:我知道如何解决这个问题。我不是在寻找解决方案。我对导致一些隐式转换而没有导致其他隐式转换的设计选择背后的推理很感兴趣。今天我在我们的代码库中遇到了一个小但有影响的错误,其中int常量被初始化为char表示相同的数字。这会导致ASCIIchar的转换到int.像这样的东西:chara='a';intz=a;Console.WriteLine(z);//Result:97我很困惑为什么C#会允许这样的事情。在四处搜索后,我发现了以下SO问题,并由EricLippert本人回答:ImplicitTypecastinC#摘录:However,wecanmakeeducatedguesse

c# - 可以从 WebClient 继承而我的代码不是 "design time component"吗?

我有一段代码是这样的:publicclassNoFollowWebClient:WebClient{protectedoverrideWebRequestGetWebRequest(Uriaddress){varrequest=(HttpWebRequest)base.GetWebRequest(address);request.AllowAutoRedirect=false;returnrequest;}}不过,每当我将它添加到.cs文件时,VisualStudio2012都会以其无穷的智慧将我的C#源文件转换为“设计时组件”。因此,当我现在双击该文件时,我看到的不是我的C#代码,而

c# - 被拳击迷惑。将 -1 转换为 Int64 会抛出 InvalidCastException

好吧,我一定是忽略了一些非常简单的东西,但我迷路了。鉴于此objectval=-1;varfoo=(Int32)(val);varbar=(Int64)(val);转换为Int64抛出InvalidCastException。我知道这与拳击的一些奇怪之处有关,但我不明白其中的原因。据我所知,val在第一行被装箱为Int32。然后,当我尝试转换为Int32以外的其他内容时,将抛出InvalidCastException。我想这意味着当它实际上是Int32时,我正试图将val拆箱为Int64?还是很奇怪。不能转换为值拆箱然后尝试执行转换吗?类似的东西(显然这过于简单化了,也许盒装类型是未知

C# readonly 与 Java final

在Java中,final表示一个变量只能被赋值一次,但该赋值可以发生在程序的任何地方。在C#中,readonly表示只能在构造函数中分配一个字段,在我看来,这明显没那么有用。众所周知,C#深受Java设计的影响,但这种差异一直让我感到困惑,因为它很奇怪。有谁知道CLR中是否存在技术原因,导致C#的readonly与Java的final相比没有那么有用的行为?编辑:回应评论;我想指出的是,我很清楚不变性的好处,而且我到处都在使用它。我认为readonly不如Java有用,因为:publicclassFoo{privatereadonlyint_bar;Foo(){_bar=5;}}糟糕,

c# - 比 var 更好的推断变量的词

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。这可能会被关闭,但我还是会尝试。前几天我向一位VB6程序员展示了我的一些C#代码,他注意到了var关键字并且说“哦,一个变体类型,当你这样做时,它并不是真正的强类型。”我不得不继续典型的“var!=VARIANT”演讲来向他解释这不是它只是编译器推断的变体。我在考虑他们(C#团队)可以使用的其他词,这样这种事情就不会发生。我个人喜欢infer,比如:in

c# - 在语法上是否需要不同的打开和关闭定界符?

在对智能引号和编程语言进行类比时,我想到可能不需要用于开始和结束定界符的不同字符,而只是为了提高可读性而做出的选择。例如,Ruby’sanonymousfunctions中的参数使用相同的管道打开和关闭。Haskell使用带有极端偏见的空白。我不是在问是否需要不同类型的定界符——索引器的方括号,block的大括号——而是是否需要不同的左括号和右括号(例如(和))在大多数语言中都是语法上必需的,或者仅仅是设计者的偏好。 最佳答案 在语法上不是必需的,但如果开始和结束定界符相同,则很难(或不可能)嵌套内容。展览A是POSIX外壳,在哪里