jjzjj

c# - 为什么枚举中不允许​​字段引用(或者这是编译器错误?)

当我使用下面的代码时:usingSystem;namespaceFoo{[Flags]publicenumBar:ulong{None=0x0000000000000000,A=0x8000000000000000,B=0x0000000000000001L|A,C=0x0000000000000002L|B,D=0x0000000000000004L|A,All=A|B|C|D}}单声道编译器崩溃。这是由于语义错误(语言中不允许的错误)造成的,但编译器没有注意到,还是编译器错误?版本:Mono2.10.8.1我已经在bugzilla(https://bugzilla.xamarin.

c# - 在 Mono 中触发垃圾回收

如何让Mono中的垃圾收集器做任何有用的事情?这篇文章的底部是一个生成两个大字符串的简单C#测试程序。生成第一个字符串后,取消引用变量,退出作用域,并手动触发垃圾收集器。尽管如此,使用的内存并没有减少,并且在构造第二个字符串期间程序因内存不足异常而爆炸。UnhandledException:OutOfMemoryException[ERROR]FATALUNHANDLEDEXCEPTION:System.OutOfMemoryException:Outofmemoryat(wrappermanaged-to-native)string:InternalAllocateStr(int)a

Linux 上的 C# 服务器可伸缩性问题

我有一个在VisualStudio2010和MonoDevelop2.8上开发的C#服务器。NET框架4.0看起来此服务器在Windows上的表现(在可伸缩性方面)比在Linux上好得多。我使用Apache的ab工具在nativeWindows(12个物理内核)以及8核和12核Windows和Ubuntu虚拟机上测试了服务器可扩展性。Windows响应时间非常平稳。当并发级别接近/超过核心数量时,它开始回升。出于某种原因,Linux响应时间要差得多。从并发级别5开始,它们几乎呈线性增长。8核和12核LinuxVM的行为也类似。所以我的问题是:为什么它在linux上表现更差?(以及我该如

c# - 用 C# "out parameters"嵌入单声道

我正在尝试使用libmono将C#类嵌入到C应用程序中,但文档有点缺乏。我正在尝试调用原型(prototype)为voidMessageToSend(outMessageObjectmessage);的方法我如何表示“输出参数”?它是指向MonoObject的指针吗?谢谢。附言。就libmono而言,'out'和'ref'参数是否相同? 最佳答案 你是对的,它是MonoObject**。out和ref除了C#编译器之外几乎所有东西都是一样的。 关于c#-用C#"outparameters

c# - 如何在 Android 的 Mono 中使用 Runnable

我正在尝试学习Monodroid!我尝试将Java代码重新编写为C#,但遇到了一些问题:我不明白如何使用Runnable。这是Java中的代码片段,我无法将其转换为C#:publicclassRunActivityextendsActivityimplementsOnClickListener{...privateHandlermHandler;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.run);...m

c# - 接口(interface)继承多个接口(interface) : how is this handled by a C# compiler?

最近我发现C#允许Aninterfacecaninheritfromoneormorebaseinterfaces.例如,Caliburn.Micro中的IScreen在http://caliburnmicro.codeplex.com/SourceControl/latest#src/Caliburn.Micro/IScreen.cs中执行此操作namespaceCaliburn.Micro{publicinterfaceIScreen:IHaveDisplayName,IActivate,IDeactivate,IGuardClose,INotifyPropertyChangedE

c# - 单声道语音识别

有什么方法可以将语音识别功能添加到单声道应用程序中。有一个System.Speech(在.net中)和Microsoft.Speech(在MSSpeechPlatform中)namespace,但我在Mono中找不到任何namespace。那么如何在Mono中添加语音识别功能呢? 最佳答案 查看此链接:MonoSystem.Speech似乎现在支持System.Speech.Recognition。您是否正在提取最新的(3.0+)tarball并构建您自己的Mono运行时? 关于c#-单

c# - P/Invoke 到 Mono 上动态加载的库

我正在编写一个使用一些非托管代码的跨平台.NET库。在我的类的静态构造函数中,检测到平台并从嵌入式资源中提取适当的非托管库并保存到临时目录,类似于anotherstackoverflowanswer中给出的代码。.为了在库不在PATH中时可以找到它,我在将它保存到临时文件后显式加载它。在Windows上,这适用于来自kernel32.dll的LoadLibrary。我正尝试在Linux上对dlopen执行相同的操作,但在稍后加载P/Invoke方法时出现了DllNotFoundException。我已验证库“libindexfile.so”已成功保存到临时目录,并且对dlopen的调用

c# - HttpWebResponse 不会针对并发出站请求进行扩展

我有一个用C#编写的ASP.NET3.5服务器应用程序。它使用HttpWebRequest和HttpWebResponse向RESTAPI发出出站请求。我已经设置了一个测试应用程序来在单独的线程上发送这些请求(以模糊地模拟针对服务器的并发)。请注意,这更像是一个单声道/环境问题,而不是代码问题;所以请记住下面的代码不是逐字的;只是功能位的剪切/粘贴。这是一些伪代码://threadedclientpieceintnumThreads=1;ManualResetEventdoneEvent;using(doneEvent=newManualResetEvent(false)){for(i

以单声道编译的 C# - 检测操作系统

我正在尝试让一个C#应用程序在OSX下运行,这并不是完全没有痛苦。为了在短期内解决一些问题,我正在考虑在OSX中运行时设置一些特定的规则。但是...我可以使用什么来确定应用程序是在Windows还是OSX下运行? 最佳答案 来自Monowiki(根据我的经验,OSX被识别为Unix):intp=(int)Environment.OSVersion.Platform;if((p==4)||(p==128)){Console.WriteLine("RunningonUnix");}else{Console.WriteLine("NOTr