Questions tagged «.net»

请勿使用有关.NET Core的问题,而应使用[.net-core]。.NET框架是主要为Microsoft Windows操作系统设计的软件框架。它包括基类库,公共语言运行时(通常称为CLR),公共类型系统(通常称为CTS)和动态语言运行时的实现。它支持多种编程语言,包括C#,VB.NET,F#和C ++ / CLI。

23
使用MVVM在WPF中处理对话框
在WPF的MVVM模式中,处理对话框是较复杂的操作之一。由于您的视图模型对视图一无所知,因此对话框通信可能会很有趣。我可以公开的是ICommand,当视图调用它时,会出现一个对话框。 有谁知道处理对话框结果的好方法?我说的是Windows对话框,例如MessageBox。 我们执行此操作的方法之一是在视图模型上有一个事件,当需要对话框时,视图将订阅该事件。 public event EventHandler<MyDeleteArgs> RequiresDeleteDialog; 可以,但是这意味着视图需要代码,而我想远离这些代码。

8
为什么Boolean.ToString输出“ True”而不是“ true”
true.ToString() false.toString(); Output: True False 是否有正当理由是“真实”而不是“真实”?当编写XML时,它会中断,因为XML的布尔类型是小写,并且也不兼容C#的true / false(尽管不确定CLS)。 更新资料 这是我在C#中解决问题的一种非常骇人的方法(用于XML) internal static string ToXmlString(this bool b) { return b.ToString().ToLower(); } 当然,这会在堆栈中增加1种方法,但是会在各处删除ToLowers()。
235 c#  .net  boolean 

11
如何在.NET 4运行时中运行PowerShell?
我正在更新管理某些.NET程序集的PowerShell脚本。该脚本是为基于.NET 2(PowerShell运行时使用的框架的相同版本)构建的程序集编写的,但是现在需要与.NET 4程序集以及.NET 2程序集一起使用。 由于.NET 4支持运行针对较早版本的框架构建的应用程序,因此似乎最简单的解决方案是在需要针对.NET 4程序集运行时使用.NET 4运行时启动PowerShell。 如何在.NET 4运行时中运行PowerShell?

30
从C#读取Excel文件
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 是否有免费或开放源代码库可直接从C#程序读取Excel文件(.xls)? 不必太花哨,只需选择一个工作表并以字符串形式读取数据。到目前为止,我一直在使用Excel的“导出到Unicode文本”功能,并分析生成的(制表符分隔)文件,但是我想消除手动步骤。
233 c#  .net  excel  ms-office 

2
为什么处理排序数组要比未排序数组慢?
我有500000个随机生成的Tuple<long,long,string>对象的列表,在这些对象上执行简单的“之间”搜索: var data = new List<Tuple<long,long,string>>(500000); ... var cnt = data.Count(t => t.Item1 <= x && t.Item2 >= x); 当我生成随机数组并为100个随机生成的值运行搜索时x,搜索将在大约四秒钟内完成。知道排序确实会对搜索产生很大的影响,但是,我决定在运行100次搜索之前先对数据进行排序Item1,然后再按,再按Item2,最后按Item3- 进行排序。由于分支预测,我希望排序后的版本执行得更快:我的想法是,一旦到达Item1 == x,所有进一步的检查t.Item1 <= x都会正确地预测分支为“ no take”,从而加快分支的尾部。搜索。令我惊讶的是,在排序数组上进行搜索的时间是原来的两倍! 我尝试切换实验顺序,并为随机数生成器使用了不同的种子,但是效果是一样的:在未排序的数组中搜索的速度几乎是在同一数组中搜索速度的两倍,但是排序! 有谁能很好地解释这种奇怪的影响?我测试的源代码如下;我正在使用.NET 4.0。 private const int TotalCount = 500000; private const int TotalQueries = 100; private static long NextLong(Random r) { var data …


30
如何自动选择WPF TextBox中所有焦点的文本?
如果我SelectAll从GotFocus事件处理程序中调用,它将无法使用鼠标-释放鼠标后所选内容就会消失。 编辑:人们喜欢唐娜(Donnelle)的答案,我将尽力解释为什么我不喜欢被接受的答案。 它更复杂,而被接受的答案则以更简单的方式完成相同的事情。 接受答案的可用性更好。当您单击文本的中间部分时,释放鼠标时文本将不会被选中,从而使您可以立即开始编辑;如果仍然要选择全部,只需再次按下该按钮,这次就不会在选择时取消选择。按照Donelle的食谱,如果我单击文本中间的内容,则必须第二次单击才能进行编辑。如果单击文本中的某个地方而不是文本外部的某个地方,这很可能意味着我要开始编辑而不是覆盖所有内容。
232 .net  wpf  silverlight  textbox 

11
为什么在collection为null时.NET foreach循环会引发NullRefException?
因此,我经常遇到这种情况... Do.Something(...)返回一个null集合,如下所示: int[] returnArray = Do.Something(...); 然后,我尝试像这样使用此集合: foreach (int i in returnArray) { // do some more stuff } 我很好奇,为什么foreach循环不能对null集合进行操作?在我看来,0迭代将使用null集合来执行是合理的……相反,它抛出NullReferenceException。有人知道为什么会这样吗? 这很烦人,因为我使用的API尚不清楚确切返回的API,所以我if (someCollection != null)到处都是... 编辑:谢谢大家对foreach使用的解释,GetEnumerator如果没有枚举数可以获取,则foreach将失败。我想我在问为什么语言/运行时不能或不会在获取枚举数之前做空检查。在我看来,这种行为仍然可以很好地定义。
231 c#  .net 

9
使用Dapper ORM从X WHERE ID IN(…)中选择*
当IN子句的值列表来自业务逻辑时,使用Dapper ORM用IN子句编写查询的最佳方法是什么?例如,假设我有一个查询: SELECT * FROM SomeTable WHERE id IN (commaSeparatedListOfIDs) 在commaSeparatedListOfIDs正在从业务逻辑传递,它可以是任何类型的IEnumerable(of Integer)。在这种情况下,我将如何构造查询?到目前为止,我是否必须做我基本上一直在做的事情,即基本上是字符串连接还是我不知道的某种高级参数映射技术?
231 .net  sql  dapper 


10
如何更改.NET WebClient对象上的超时
我正在尝试(以编程方式)将客户端的数据下载到本地计算机,并且他们的Web服务器非常非常慢,这导致我的WebClient对象超时。 这是我的代码: WebClient webClient = new WebClient(); webClient.Encoding = Encoding.UTF8; webClient.DownloadFile(downloadUrl, downloadFile); 有没有办法对此对象设置无限超时?否则,如果没有人可以通过替代方法帮助我举例说明呢? 该URL在浏览器中可以正常工作-仅显示3分钟即可显示。
230 c#  .net  file  download  webclient 


16
您如何在Visual Studio的项目/解决方案之间共享代码?
我有两个具有一些通用代码的解决方案,因此我想将其提取出来并在它们之间共享。此外,我希望能够独立发布该库,因为它可能对其他人有用。 使用Visual Studio 2008的最佳方法是什么? 一个项目中是否存在多个解决方案? 对于单独的代码,我是否有单独的解决方案? 解决方案可以依赖另一个吗?

10
创建其构造函数需要参数的泛型类型的实例?
如果BaseFruit有一个接受的构造函数,int weight我可以用这种通用方法实例化一块水果吗? public void AddFruit<T>()where T: BaseFruit{ BaseFruit fruit = new T(weight); /*new Apple(150);*/ fruit.Enlist(fruitManager); } 在注释后面添加了一个示例。似乎只有提供BaseFruit无参数构造函数,然后通过成员变量填写所有内容,我才能做到这一点。用我的真实代码(不是关于水果),这是不切实际的。 -更新- 因此,看来无论如何都无法通过约束来解决。从答案中可以找到三种候选解决方案: 工厂模式 反射 活化剂 我倾向于认为反射是最不干净的一种,但是我无法在其他两种之间做出选择。
229 c#  .net  generics 


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.