Tag: c#

Linq表现:(ElementAt,Count)vs(foreach)

我使用(ElementAt,Count)和(foreach)作为Linq查询的结果迭代IEnumerable。 令我惊讶的是,性能差异是25-30倍! 这是为什么? IEnumerable result = … simple Linq query that joins two tables … returns about 600 items double total = 0; // Method 1: iterate with Count and ElementAt for( int i = 0; i < result.Count(); i++ ) { total += result.ElementAt(i); } // Method 2: iterate with foreach foreach( double value […]

如何通过保留方法名来扩展接口?

给出两个接口: interface I1 { int Foo(); } interface I2 { void Foo(); } 一堂课: class Test : I1, I2 { int I1.Foo() { Console.WriteLine(“I1.Foo”); return default(int); } public void Foo() { Console.WriteLine(“I2.Foo”); } } 如何通过保持名为Foo的方法将接口I2扩展为I1 ? 我尝试了以下代码,但它没有编译: interface I1 { int Foo(); } interface I2 : I1 { void I2.Foo(); } class Test : I2 […]

如何在XAML中制作无线电盒(Xamarin Forms PCL)

我试图找出如何在XAML中制作一个单选按钮 – 我看到有一种方法可以在android中进行,但是想知道是否有一种简单的跨平台方式来做它而不需要额外的nuget包。

在Xamarin Studio中打开Visual Studio项目时,“版本字符串部分太短或太长”

我尝试在Xamarin工作室社区中打开VS 2012的解决方案,但其中一个项目–asp.net mvc项目 – 给出了“版本字符串部分太短或太长” 我认为.net版本还可以。 我尝试在VS中创建简单的asp.net mvc项目,然后在XS中打开它,一切都很顺利。 所以我不知道在这种情况下有什么问题。 我找到了删除线条的解决方案 VisualStudioVersion = {0} MinimumVisualStudioVersion = {0} 适用于此,但不是我的情况。

如何使用.Net读取.cds数据库(TClientDataSet)

我有一个用Delphi编写的应用程序的旧数据库文件。 我的任务是提取数据,并将其移动到SQL数据库。 我知道它是.cds格式,它使用Delphi的TClientDataSet-Class。 问题是:我没有Delphi,没有文档,多年前编写应用程序的人离开了公司。 所以,我的问题是:有没有办法(除了Delphi或文本解析)使用Dot.net,Python,Ruby,Java或Perl访问数据? 对XML或CSV的简单“导出”也会起作用。

unit testingXNA:我需要模拟我的GraphicsDevice

我在使用XNA框架。 为了帮助我,我做了一个看起来像这样的帮助类: ActorHolder + SpriteBatch (SpriteBatch) + ContentManager (ContentManager) – drawables (IList) – updatables (IList) + ActorHolder(GraphicsDevice, ContentManager) + Draw(GameTime) + Update(GameTime) + AddActor(IActor) + RemoveActor(IActor) + GetCollidingActors(IActor) 现在我想对这个class级进行unit testing。 但是当你看到我的构造函数需要一个图形设备和一个内容管理器。 虽然我认为这在我的应用程序中很明显,但在我的测试中却没有。 我应该嘲笑这两个只是为了进行unit testing还是我的设计存在缺陷? –UPDATE– 我找到了一个可能有用的项目的链接: http : //scurvytest.codeplex.com/没有任何xp,因为编码必须为社交生活腾出空间。 – 注意 – 对不起,我的UML法语,我的公司不使用它,所以我从来没有使用它,除了回到学校。

列表跨Web服务变为Country

我有一个Web服务,在调用时,返回一个多态包含List的Result对象。 但是,当我在客户端应用程序中添加引用时,公共字段将成为客户端应用程序中的Country数组。 如何将客户端应用程序中的字段更改为List? public Result GetCountryList() { List countries = GrabCountryList(); Result result = new Result(); result.theResult = countries; } 这是公共财产 public object theResult { get {return _theResult; } set {_theResult = value;} } Mehmet Aras的公认接受的答案 : 右键单击服务引用,然后选择“配置引用”。 在Collection type下,选择System.Collection.Generic.List。 更新服务参考,应该是好的。 感谢Matt Hamilton提出的从arrays创建新列表的建议。

表格/窗口后面出现的工具提示! (C#/ VS 2008)

出于一些奇怪的原因,我在VS 2008 C#winforms应用程序中的toopltip显示在表单后面! 这非常令人沮丧,我无法弄清楚我应该做些什么。 以前有人面对这个吗? 想法? (PS – 我在表单中以编程方式执行toolstip.show)

WebService和Remoting之间的区别

我将Web服务与Remoting从性能和互操作性角度进行了比较,并对此有所怀疑。 1)由于Remoting支持TCP和HTTP通道,因此在使用TCP通道时它使用二进制格式化,当HTTP,SOAP格式化时 2)我们可以在Remoting中使用TCP协议和HTTP / Soap格式化使用二进制格式化 3)由于Remoting支持任何技术和平台普遍接受的XML / SOAP格式,因此它应该提供任何技术/平台的服务器/客户端应用程序之间的互操作性,如果提供什么是Web服务的使用。 据我所知,Webservice相对于远程处理的主要优点是互操作性。 4)如果我使用Remoting与SOAP和HTTP,它是否被互联网防火墙绕过与Web服务相同的方式,或者仍然受到防火墙的限制。 5)如果在HTTP上使用SOAP格式进行远程处理,而在Web服务上使用SOAP格式通过Http进行远程处理,是否仍存在任何性能变化。 6)webservice是否支持二进制格式化和TCP协议,根据我的理解webservice只支持http prtocol但是根据一些程序员的意见,堆栈溢出webservice独立于传输协议,所以它是否像asp.net webservice只适用于http和web服务在其他技术中开发的支持TCP和HTTP。 此致,Arun Patil

从UDP连接获取客户端IP C#

我目前有一个服务器应用程序正在侦听UDP数据包的端口。 当一个发送到服务器时,它会正确接收并处理它。 有什么方法可以获取数据包来自哪里的IP地址? 这是我创建套接字的方法 this.UDPListener = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, Port); this.UDPListener.Bind(endPoint); SocketAsyncEventArgs socketEventArgs = new SocketAsyncEventArgs(); socketEventArgs.SetBuffer(this.ReceiveBuffer, 0, this.ReceiveBuffer.Length); socketEventArgs.Completed += new EventHandler(OnReceive); if (!this.UDPListener.ReceiveAsync(socketEventArgs)) ThreadPool.QueueUserWorkItem(new WaitCallback((Object o) => this.OnReceive(this, socketEventArgs))); 当调用OnReceive时,没有任何内容包含消息来自的ip。 我已经查看了SocketAsyncEventArgs,我看到的只是监听ip。 编辑: 这就是我最终做的事情。 this.UDPListener = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); this.UDPListener.Bind(new IPEndPoint(IPAddress.Any, Port)); EndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, […]