Tag: c# 2.0

对象初始值设定项不在List 中工作

List oUpdateCar = new List(); oUpdateCar.Add(new Car()); oUpdateCar[0].name = “Color”; oUpdateCar[0].value = “red”; oUpdateCar.Add(new Car()); oUpdateCar[1].name = “Speed”; oUpdateCar[1].value = “200”; 上面的代码工作,但我想在我创建列表时初始化它,如下所示, List oUpdateCar = new List { new Car{ name = “Color”; value = “red”;} new Car{ name = “Speed”; value = “200”;} } 上面的代码不起作用。 我错过了什么 我使用的是c#.NET 2.0。 请帮忙。

使用DTDvalidation – 强制关闭连接

我正在validation文档中带有DTD的文档,该文档不在我的机器上,它存储在互联网上。 我目前收到以下exception System.Xml.XmlException: An error has occurred while opening external DTD ‘http://xml.cxml.org/schemas/cXML/1.2.020/cXML.dtd’: Unable to connect to the remote server —> System.Net.WebException: Unable to connect to the remote server —> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host 216.109.104.11:80 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket […]

应该在C#中清空“if”语句导致错误或警告?

让我从现实生活中的例子开始: 客户:Alex,刚刚在第138行的RemovalProcessor中发现了一些奇怪的事情: if (Session.Handler.ExecutePrefetchTasks()==null); Session.ExecuteDelayedQueries(); 那个’if’后面的半圆是否应该在那里? 我:哎呀……我会把它发给我们的家伙来检查,但最有可能的是,你是对的。 虽然案件很少见,但我承认几乎所有大项目都有类似的问题。 我知道C#中的分号(和语句块)使用规则不能改变(我个人更喜欢Python风格)。 但我认为用if语句准确识别这种情况是个好主意,并将其归类为错误或警告。 很少有Q / AI考虑到: 为什么在这种情况下应该生成警告或错误? 因为这是开发人员的错误可能是99%的概率。 为什么在这种情况下错误更可取? 在许多情况下,开发人员会忽略警告。 我明白这是他们自己的问题,并且有/ warnaserror(威胁警告为错误)切换,但由于这是一个非常高概率的错误,并且,如果它不是错误(真的?;)),它是相当的很容易解决这个问题,可能最好将此案例归类为错误。 最后,在这种情况下的错误不会“限制”开发人员,因为这样的代码可以(并且可能必须)总是在没有if语句的情况下重写。 为什么警告在这种情况下更可取? 这不会破坏兼容性; 我还怀疑一些代码生成器可能会依赖于当前行为生成代码。 所以我很高兴听到你对此的看法。

(DataGridView + Binding)如何根据绑定的对象来着色线?

我想根据绑定对象的属性为特定行添加背景颜色。 我拥有的解决方案(它的工作原理)是使用Event DataBindingComplete但我不认为这是最好的解决方案。 这是事件: private void myGrid_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { for (int i = 0; i < this.myGrid.Rows.Count; i++) { if((this.myGrid.Rows[i].DataBoundItem as MyObject).Special) { this.myGrid.Rows[i].DefaultCellStyle.BackColor = Color.FromArgb(240, 128, 128); } } } 还有其他更好的选择吗?

如何静态链接C#ClassLibrary的库?

我正在使用微软提供的Dll在c#中创建一个类LLibrary。 现在我想静态地将那些Microsoft提供的库添加到My Dll。我该怎么做呢。 我简单地添加了对Microsoft提供的Dlls和创建My Dll的引用? 这样好吗? 如果微软提供的DLL在其他机器上不可用,那么我的Dll可能会失败,我需要静态添加库? 我怎样才能做到这一点??

AddExtension属性如何在C#2.0中工作?

我想打开一个保存文件对话框,让用户输入一个文件名,如果他们忘记.csv扩展名,请加上它。 似乎SaveFileDialog AddExtension属性可以工作,但它没有。 我甚至将DefaultExt属性设置为.csv,但仍然没有任何内容。 我的文件保存得很好,但没有扩展,所以用户不能只是双击文件并在Excel中打开它。 我不得不遗漏一些明显的东西。 这就是我所拥有的 SaveFileDialog sfd = new SaveFileDialog(); sfd.DefaultExt = “*.csv”; sfd.Filter = “Comma Separated(*.csv)|*.*”; if (sfd.ShowDialog() == DialogResult.OK) { // Do my file saving }

如何舍入双值但保持尾随零

在C#中,我想要一个将给定的double舍入到给定的小数位数的函数。 我总是希望我的函数返回一个给定小数位数的值(可以是一个字符串)。 如有必要,需要添加尾随零。 例: string result = MyRoundingFunction(1.01234567, 3); // this must return “1.012” 这很容易,它只是四舍五入并转换为字符串。 但问题出现了: string result2 = MyRoundingFuntion(1.01, 3); // this must return “1.010” 有没有方便/标准的方法来做到这一点,还是我手动需要添加尾随零? 任何帮助表示赞赏。 请注意,在现实生活中,我不能硬编码小数。

C#:XPath选择包含子字符串属性的节点?

我可以使用XPath选择其代码包含UK的国家/地区节点吗? 谢谢。

Web服务变量在Web服务的生命周期内共享?

如何在Web服务的整个生命周期内使变量(对象)可用? 静态变量似乎有效,但还有其他方法吗?

使用基类作为IEnumerable 的通用

我对OOP一般,inheritance和多态,接口等有很好的理解。我遇到了一个奇怪的情况,我不明白为什么它根本不起作用… 编辑:好的,我发现协方差(或逆变?)可以解决这个问题,但至关重要 我们还在使用.NET 2.0 如何在不转向C#4.0的情况下解决这个问题? 这是情况。 鉴于这两个类: public class CustomCollectionType : IEnumerable { /* Implementation here, not really important */ } public class Entity : EntityBase { /* Implentation here, not important */ } 当我尝试使用这种通用方法时,编译器会抱怨 public void LoopThrough(IEnumerable entityList) { foreach(EntityBase entity in entityList) { DoSomething(entity); } } 并尝试以这种方式使用它: CustomCollectionType entityList; /* Add items to […]