Questions tagged «c#»

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

6
在C#中将Int强制转换为通用枚举
与C#中将Cast转换为枚举类似,但我的枚举是Generic Type参数。处理此问题的最佳方法是什么? 例: private T ConvertEnum<T>(int i) where T : struct, IConvertible { return (T)i; } 产生编译器错误 Cannot convert type 'int' to 'T' 完整代码如下,其中value可以包含int或null。 private int? TryParseInt(string value) { var i = 0; if (!int.TryParse(value, out i)) { return null; } return i; } private T? TryParseEnum<T>(string value) where T …
84 c#  generics  casting  enums 

7
System.IO.IOException:使用System.IO.Path.GetTempFileName()时,“文件存在”-分辨率?
每当他尝试使用我的产品时,我的一位客户就遇到了例外。我获得了发生的异常的调用堆栈,其顶部是: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.__Error.WinIOError() at System.IO.Path.GetTempFileName() at System.Windows.Input.Cursor.LoadFromStream(Stream cursorStream) at System.Windows.Input.Cursor..ctor(Stream cursorStream) 对此进行了谷歌搜索,我发现大量博客文章指出%TEMP%文件夹中有超过65535个临时文件时抛出此异常,并且解决方案是简单地清除旧的临时文件。我可以请客户这样做,但这可能只是一个临时解决方案-如果他们定期运行其他一些软件,该软件频繁调用GetTempFileName,这将使问题反复发生吗? 我不能只是以编程方式清除%TEMP%文件夹,因为这可能会以某种方式损坏其他内容,并且我无法避免调用GetTempFileName(并使用我自己的临时文件夹),因为不是我而是WPF代码在调用它。 是否有永久解决方案? 更新:我已经确认%TEMP%文件夹中的日志文件溢出的问题不是由我自己的代码引起的,而一定是由客户计算机上的某些其他第三方应用程序引起的。我还研究了的实现,Cursor.LoadFromStream它肯定没有错-它会生成一个临时文件,然后在finally块中将其删除。
84 c#  .net 


8
如何将List <string>绑定到DataGridView控件?
我有一个简单的方法List&lt;string&gt;,希望将其显示在DataGridView列中。 如果列表包含更复杂的对象,则只需将列表建立为其DataSource属性的值即可。 但是这样做时: myDataGridView.DataSource = myStringList; 我看到一列,Length然后显示字符串的长度。 如何在列中显示列表中的实际字符串值?

19
将值从一种形式发送到另一种形式
我想在两个窗体(c#)之间传递值。我该怎么做? 我有两种形式:Form1和Form2。 Form1包含一个按钮。当我单击该按钮时,Form2应该打开,而Form1应该处于非活动模式(即,不可选择)。 Form2包含一个文本框和一个提交按钮。当我在Form2的文本框中键入任何消息并单击Submit按钮时,Form2应该关闭,而Form1应该突出显示所提交的值。 我该怎么做?有人可以通过一个简单的例子帮助我做到这一点。

3
仅将唯一项添加到列表
我将远程设备添加到列表中,因为它们会在网络上宣布自己。我只想将设备添加到列表中(如果以前未添加过)。 这些通知是通过异步套接字侦听器传递的,因此添加设备的代码可以在多个线程上运行。我不确定自己做错了什么,但不管尝试什么,最终都会出现重复。这是我目前拥有的..... lock (_remoteDevicesLock) { RemoteDevice rDevice = (from d in _remoteDevices where d.UUID.Trim().Equals(notifyMessage.UUID.Trim(), StringComparison.OrdinalIgnoreCase) select d).FirstOrDefault(); if (rDevice != null) { //Update Device..... } else { //Create A New Remote Device rDevice = new RemoteDevice(notifyMessage.UUID); _remoteDevices.Add(rDevice); } }
84 c#  .net  c#-4.0 


3
GIT-无法忽略.suo文件
我正在尝试用C#编写的应用程序与同事一起使用Git。 我们已经在.gitignore文件中添加了条目“ project1.suo”,但是每次我们其中一个必须提交项目时,Git似乎也告诉我们也要提交文件“ project1.suo”。 我们尝试了许多方法来将文件添加到.gitignore中,如下所示: *.suo project1.suo c:\project\project1.suo 我们无法解决此问题。
84 c#  git 

9
c#-在WPF应用程序中保存用户设置的方法?
您建议采用哪种方法在WPF Windows(桌面)应用程序中保留用户设置?请注意,其想法是用户可以在运行时更改其设置,然后可以关闭该应用程序,然后稍后启动该应用程序时,该应用程序将使用当前设置。实际上,它将看起来好像应用程序设置没有更改。 问题1-数据库还是其他方法?我确实有一个仍将使用的sqlite数据库,因此在数据库中使用表将与任何方法一样好? 问题2 –如果是数据库:什么是数据库表设计?针对不同的数据类型列的表是一个可能(例如string,long,DateTime等),或者只是一个用于在您拥有序列化和反序列化值的值的字符串表?我想第一种会比较容易,如果没有太多设置,那么开销会不会太大? 问题3-可以使用“应用程序设置”吗?如果是这样,那么是否需要执行任何特殊任务才能实现持久性?在这种情况下,使用“应用程序设置”设计器中的“默认”值还会发生什么?默认值是否会覆盖运行该应用程序之间保存的所有设置?(或者您不需要使用默认值)
84 c#  .net  wpf  settings 



5
除Controller类之外的其他类的依赖注入
在这一点上,我可以轻松地将其注入Controller中,在某些情况下,可以构建自己的ResolverServices类。生活是美好的。 我无法弄清楚该怎么做,是要获得自动注入非控制器类的框架。起作用的是使框架自动注入到控制器中IOptions,这实际上是项目的配置: public class MessageCenterController : Controller { private readonly MyOptions _options; public MessageCenterController(IOptions&lt;MyOptions&gt; options) { _options = options.Value; } } 我在想我是否可以为自己的课程做同样的事情。我假设我在模仿控制器时就已经关闭了,就像这样: public class MyHelper { private readonly ProfileOptions _options; public MyHelper(IOptions&lt;ProfileOptions&gt; options) { _options = options.Value; } public bool CheckIt() { return _options.SomeBoolValue; } } 我认为我失败的地方是当我这样称呼它时: public void DoSomething() …

19
有没有像样的C#分析器?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我需要一个C#分析器。 尽管我不愿意花钱购买,但免费或至少带有试用版的东西是理想的选择,因为要花很多时间才能提高采购订单。 有什么建议吗?
83 c#  .net  profiling  profiler 

5
只读字段调用了不纯方法
我正在使用Visual Studio 2010 + Resharper,它在以下代码上显示警告: if (rect.Contains(point)) { ... } rect是一个readonly Rectangle字段,Resharper向我显示此警告: “为值类型的只读字段调用了Immpure方法。” 什么是不正确的方法?为什么向我显示此警告?
83 c#  resharper 

6
通过反射查找可为空的属性的类型
我通过反射检查对象的属性,然后继续处理每个属性的数据类型。这是我的(精简版)资源: private void ExamineObject(object o) { Type type = default(Type); Type propertyType = default(Type); PropertyInfo[] propertyInfo = null; type = o.GetType(); propertyInfo = type.GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); // Loop over all properties for (int propertyInfoIndex = 0; propertyInfoIndex &lt;= propertyInfo.Length - 1; propertyInfoIndex++) { propertyType = propertyInfo[propertyInfoIndex].PropertyType; …
83 c#  .net  reflection  nullable 

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.