Questions tagged «c#»

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

30
最有用的属性
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我知道属性非常有用。有一些预定义的[Browsable(false)]属性,例如允许您在属性选项卡中隐藏属性。这是一个解释属性的好问题:.NET中的属性是什么? 您在项目中实际使用的预定义属性(及其名称空间)是什么?
784 c#  .net  .net-attributes 

28
如何获取代码所在的程序集的路径?
有没有办法获取当前代码所在的程序集的路径?我不希望调用程序集的路径,而只是包含代码的路径。 基本上,我的单​​元测试需要读取一些相对于dll的xml测试文件。无论测试dll是从TestDriven.NET,MbUnit GUI还是其他版本运行,我都希望该路径始终能够正确解析。 编辑:人们似乎误解了我在问什么。 我的测试库位于 C:\ projects \ myapplication \ daotests \ bin \ Debug \ daotests.dll 我想走这条路: C:\ projects \ myapplication \ daotests \ bin \ Debug \ 当我从MbUnit Gui运行时,到目前为止,这三个建议使我失望: Environment.CurrentDirectory 给出c:\ Program Files \ MbUnit System.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location 给出C:\ Documents and Settings \ george \ Local Settings \ Temp \ …
780 c#  .net  reflection  mbunit 


9
随机数生成器仅生成一个随机数
我有以下功能: //Function to get random number public static int RandomNumber(int min, int max) { Random random = new Random(); return random.Next(min, max); } 我怎么称呼它: byte[] mac = new byte[6]; for (int x = 0; x < 6; ++x) mac[x] = (byte)(Misc.RandomNumber((int)0xFFFF, (int)0xFFFFFF) % 256); 如果在运行时与调试器一起执行该循环,则会得到不同的值(这是我想要的)。但是,如果我在该代码下两行放置一个断点,则mac数组的所有成员都具有相等的值。 为什么会这样呢?
765 c#  random 



19
如何将Unix时间戳转换为DateTime,反之亦然?
有此示例代码,但随后开始谈论毫秒/纳秒问题。 自M#的Unix时代以来,MSDN上的问题是秒。 到目前为止,这是我得到的: public Double CreatedEpoch { get { DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime(); TimeSpan span = (this.Created.ToLocalTime() - epoch); return span.TotalSeconds; } set { DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime(); this.Created = epoch.AddSeconds(value); } }

30
找到的程序集的清单定义与程序集引用不匹配
我试图在C#Windows窗体应用程序(Visual Studio 2005)中运行一些单元测试,但出现以下错误: System.IO.FileLoadException:无法加载文件或程序集“实用程序,版本= 1.2.0.200,区域性=中性,PublicKeyToken = 764d581291d764f7”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT的异常:0x80131040)** 在x.Foo.FooGO() 在Foo.cs:第123行的x.Foo.Foo2(String groupName_) 在FooTests.cs中的x.Foo.UnitTests.FooTests.TestFoo():行98 ** System.IO.FileLoadException:无法加载文件或程序集“实用程序,版本= 1.2.0.203,区域性=中性,PublicKeyToken = 764d581291d764f7”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040) 我查看自己的参考文献,但只有一个参考文献Utility version 1.2.0.203(另一个是旧的)。 关于我如何找出试图引用此DLL文件旧版本的任何建议? 此外,我认为我的硬盘上甚至没有这个旧程序集。有什么工具可以搜索这个旧版本的程序集吗?


30
如何正确清理Excel互操作对象?
我在C#(ApplicationClass)中使用Excel互操作,并将以下代码放在我的finally子句中: while (System.Runtime.InteropServices.Marshal.ReleaseComObject(excelSheet) != 0) { } excelSheet = null; GC.Collect(); GC.WaitForPendingFinalizers(); 尽管这种工作有效,但是Excel.exe即使关闭Excel ,该过程仍在后台进行。仅在我的应用程序手动关闭后才释放它。 我在做什么错,还是有其他方法可以确保正确处理互操作对象?
747 c#  excel  interop  com-interop 

18
与lambda不同()?
是的,所以我有一个不可估量的并希望从中获得独特的价值。 使用System.Linq,当然有一个扩展方法称为Distinct。在简单的情况下,可以不使用任何参数,例如: var distinctValues = myStringList.Distinct(); 很好,但是如果我有一个需要枚举的对象枚举,则唯一可用的重载是: var distinctValues = myCustomerList.Distinct(someEqualityComparer); 相等比较器参数必须是的实例IEqualityComparer<T>。我当然可以做到这一点,但这有点冗长,而且很笨拙。 我本来希望是一个过载,它需要一个lambda,例如Func <T,T,bool>: var distinctValues = myCustomerList.Distinct((c1, c2) => c1.CustomerId == c2.CustomerId); 任何人都知道是否存在这样的扩展名或等效的解决方法?还是我错过了什么? 另外,有没有一种方法可以指定内联IEqualityComparer(使我感到尴尬)? 更新资料 我发现Anders Hejlsberg对MSDN论坛中有关此主题的帖子进行了回复。他说: 您将遇到的问题是,当两个对象比较相等时,它们必须具有相同的GetHashCode返回值(否则Distinct内部使用的哈希表将无法正常运行)。我们使用IEqualityComparer,因为它会将Equals和GetHashCode的兼容实现打包到单个接口中。 我想这是有道理的。

9
DateTime vs DateTimeOffset
当前,我们有一种DateTime以TimeZone感知方式处理.NET的标准方法:每当我们生成一个.NET时,DateTime我们都会在UTC中进行处理(例如,使用DateTime.UtcNow),并且每当显示一个时,我们都会从UTC转换回用户的本地时间。 效果很好,但是我一直在阅读有关DateTimeOffset它如何捕获对象本身中的本地时间和UTC时间的信息。所以问题是,DateTimeOffset与我们已经做过的相比,使用的优势是什么?

13
如何设置HttpClient请求的Content-Type标头?
我正在尝试根据我要调用的API 设置对象的Content-Type标头HttpClient。 我尝试设置Content-Type如下: using (var httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri("http://example.com/"); httpClient.DefaultRequestHeaders.Add("Accept", "application/json"); httpClient.DefaultRequestHeaders.Add("Content-Type", "application/json"); // ... } 它允许我添加Accept标题,但是当我尝试添加Content-Type它时,抛出以下异常: 标头名称滥用。确保请求标HttpRequestMessage头与一起使用 ,响应标头与一起使用HttpResponseMessage,内容标头与HttpContent对象一起使用。 如何Content-Type在HttpClient请求中设置标题?
738 c#  asp.net  api  http  rest 

30
如何处理ASP.NET MVC Framework中的多个提交按钮?
是否有一些简单的方法可以处理来自同一表单的多个提交按钮?例如: <% Html.BeginForm("MyAction", "MyController", FormMethod.Post); %> <input type="submit" value="Send" /> <input type="submit" value="Cancel" /> <% Html.EndForm(); %> 任何想法如何在ASP.NET Framework Beta中执行此操作?我搜索过的所有示例中都包含一个按钮。

20
在C#中解析命令行参数的最佳方法?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 构建带有参数的控制台应用程序时,可以使用传递给的参数Main(string[] args)。 过去,我只是索引/循环该数组,并做了一些正则表达式来提取值。但是,当命令变得更复杂时,解析可能会变得很丑陋。 所以我对以下内容感兴趣: 您使用的库 您使用的模式 假定命令始终遵循通用标准,例如此处回答。

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.