Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

15
通过继承扩展枚举
我知道这有点违反枚举的想法,但是可以在C#/ Java中扩展枚举吗?我的意思是“扩展”,既是向枚举添加新值,也就是从现有枚举继承的OO。 我认为这在Java中是不可能的,因为它是最近才得到的(Java 5?)。但是,C#对于希望做疯狂事情的​​人似乎更宽容,所以我认为这可能是有可能的。大概可以通过反思来破解它(不是每个人都实际使用该方法)? 我不一定对实现任何给定的方法感兴趣,它只是在引起我好奇时才引起我的好奇:-)
85 c#  java  .net 

2
如何使用XmlDocument创建XML文档?
如何创建这样的XML文档? <body> <level1> <level2>text</level2> <level2>other text</level2> </level1> </body> 使用XmlDocument在C#
85 c#  xml 

8
计数属性与Count()方法?
使用集合,我有两种获取对象计数的方法:Count(属性)和Count()(方法)。有谁知道关键的区别是什么? 我可能是错的,但是我总是Count在任何条件语句中使用该属性,因为我假设该Count()方法对集合执行某种查询,在Count“获取”之前必须已对该集合进行了分配。但这是一个猜测-如果我错了,我不知道性能是否会受到影响。 编辑:出于好奇,Count()如果集合为null ,会抛出异常吗?因为我很确定该Count属性仅返回0。
85 c#  linq  list  collections  count 

5
生成后事件执行PowerShell
是否可以使用构建后事件设置.NET项目以执行Powershell脚本?我正在使用此脚本生成一些文件。 我还可以将它是调试版本还是发行版本传递给脚本。一个很好的例子。
85 c#  .net  powershell  msbuild 

8
为什么C#允许您“抛出null”?
有人问,在编写一些特别复杂的异常处理代码时,您是否需要确保异常对象不为null?我说,当然不是,但是后来决定尝试一下。显然,您可以抛出null,但是在某些地方它仍会变成异常。 为什么允许这样做? throw null; 在此摘要中,值得庆幸的是,“ ex”不为null,但是它可能会为空吗? try { throw null; } catch (Exception ex) { //can ex ever be null? //thankfully, it isn't null, but is //ex is System.NullReferenceException }

14
从DataTable删除特定的行
我想从DataTable中删除一些行,但它给出了这样的错误, 集合已修改;枚举操作可能无法执行 我用来删除此代码, foreach(DataRow dr in dtPerson.Rows){ if(dr["name"].ToString()=="Joe") dr.Delete(); } 那么,问题出在哪里,如何解决?您建议哪种方法?
85 c#  delete-row 

3
如何使用Entity Framework Code First Fluent API指定表名
我有一个实体,我要配置实体框架以将其映射到具有不同名称的数据库表。 我可以使用Code First DataAnnotations(DataAnnotations.Schema.TableAttribute)轻松地做到这一点。 但是由于现在的限制,我必须使用Code First Fluent API(我的域对象将由外部客户端使用,因此它们不应该是特定于技术的-例如,对DataAnnotations的任何引用) 我已经在MSDN上搜索了,但是什么也没找到。那么有可能吗? 谢谢。

8
相对路径到C#中的绝对路径?
我有xml文件,其中包含图像的href文件路径(例如“ .... \ images \ image.jpg”)。href包含相对路径。现在,我需要将href提取到图像,并将它们转换为文件系统中的绝对路径。 我知道GetFullPath方法,但是我尝试了它,它似乎只能在CurrentDirectory集合(似乎是C)中起作用,所以我看不到如何使用它。而且,我仍然拥有包含href的文件的绝对路径以及href的相对路径,所以对我来说,根据的绝对路径计算“ ....”部分的数量对我来说是一项简单的任务包含文件,似乎也必须有一种方法以编程方式执行此操作。 我希望有一些我不知道的简单方法!有任何想法吗?

6
如果内部发生异常,锁定的对象是否保持锁定状态?
在ac#线程应用程序中,如果我要锁定对象,可以说一个队列,如果发生异常,该对象会保持锁定状态吗?这是伪代码: int ii; lock(MyQueue) { MyClass LclClass = (MyClass)MyQueue.Dequeue(); try { ii = int.parse(LclClass.SomeString); } catch { MessageBox.Show("Error parsing string"); } } 据我了解,捕获后的代码无法执行-但我一直在想是否会释放该锁。

7
XML序列化和继承的类型
在上一个问题之后,我一直在努力使我的对象模型序列化为XML。但是我现在遇到了一个问题(奇怪的是!)。 我的问题是我有一个抽象基本类类型的集合,该集合由具体的派生类型填充。 我认为只将XML属性添加到所有涉及的类中就可以了,而且一切都会变得很顺利。可悲的是,事实并非如此! 因此,我对Google进行了一些研究,现在我了解了为什么它不起作用。在该XmlSerializer实际上是在做一些聪明的反射,以对象序列化到/从XML,并且因为它的基础上,抽象类型,它不能弄清楚到底是怎么回事了它的交谈。精细。 我确实在CodeProject上遇到过此页面,它看起来可能很有帮助(但仍可以完全阅读/使用),但是我想我也想将此问题带到StackOverflow表中,以查看是否有任何整洁的地方骇客/技巧,以便以最快/最轻便的方式启动并运行它。 有一件事我还要补充的是,我不要想往下走XmlInclude的路线。耦合太简单了,系统的这个区域正在大量开发中,因此这将是真正的维护难题!

4
获取磁盘上文件的大小
var length = new System.IO.FileInfo(path).Length; 这给出了文件的逻辑大小,而不是磁盘上的大小。 我希望获得Windows资源管理器报告的C#磁盘上文件的大小(最好没有interop)。 它应该给出正确的大小,包括: 压缩文件 稀疏文件 碎片文件
85 c#  .net  filesize 

6
如何强制BundleCollection刷新MVC4中的缓存脚本包
...或者我是如何学会不再担心的,只是针对Microsoft完全未记录的API编写代码。官方System.Web.Optimization发布有任何实际文档吗?“因为我肯定找不到任何东西,没有XML文档,并且所有博客文章都引用了RC API,这有很大的不同。嗯... 我正在编写一些代码来自动解决javascript依赖关系,并从这些依赖关系动态创建捆绑。一切正常,除非您编辑脚本或以其他方式进行更改而影响捆绑软件,而无需重新启动应用程序,则所做的更改将不会得到体现。因此,我添加了一个选项来禁用对依赖项的缓存以供在开发中使用。 但是,即使bundle集合已更改,也显然会BundleTables缓存URL 。例如,在我自己的代码中,当我想重新创建捆绑包时,我会执行以下操作: // remove an existing bundle BundleTable.Bundles.Remove(BundleTable.Bundles.GetBundleFor(bundleAlias)); // recreate it. var bundle = new ScriptBundle(bundleAlias); // dependencies is a collection of objects representing scripts, // this creates a new bundle from that list. foreach (var item in dependencies) { bundle.Include(item.Path); } // add the new bundle …

5
C#中的拳击事件
我正在尝试收集在C#中发生拳击的所有情况: 将值类型转换为System.Object类型: struct S { } object box = new S(); 将值类型转换为System.ValueType类型: struct S { } System.ValueType box = new S(); 将枚举类型的值转换为System.Enumtype: enum E { A } System.Enum box = E.A; 将值类型转换为接口引用: interface I { } struct S : I { } I box = new S(); 在C#字符串连接中使用值类型: char c …
85 c#  value-type  boxing 

14
为什么要完全使用C#类System.Random而不是System.Security.Cryptography.RandomNumberGenerator?
为什么有人会根本使用System.Random的“标准”随机数生成器,而不是始终使用System.Security.Cryptography.RandomNumberGenerator(或其子类,因为RandomNumberGenerator是抽象的)的加密安全随机数生成器? 内特-劳森告诉我们,在他的谷歌技术讲座演讲“加密反击”在13:11分不从的Python,Java和C#中使用的“标准”随机数生成器,并转而使用加密安全的版本。 我知道两个版本的随机数生成器之间的区别(请参阅问题101337)。 但是,有什么理由不总是使用安全随机数生成器呢?为什么要使用System.Random?性能也许?
85 c#  .net  cryptography  random 

18
Selenium错误-到远程WebDriver的HTTP请求在60秒后超时
我已经使用Selenium数月了,我们正在使用它来自动化一些内部测试过程。脚本运行良好。我最近使用FF 27.01升级到了C#2.40.0 webdriver,我们的脚本现在在随机位置失败,并出现以下错误。 [Portal.SmokeTest.SmokeRunTest.Booking] TearDown method failed. OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/element timed out after 60 seconds. ----> System.Net.WebException : The operation has timed out TearDown : OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/window timed out …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.