Questions tagged «c#»

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

3
为什么ToLookup和GroupBy不同?
.ToLookup<TSource, TKey>返回ILookup<TKey, TSource>。ILookup<TKey, TSource>还实现接口IEnumerable<IGrouping<TKey, TSource>>。 .GroupBy<TSource, TKey>返回IEnumerable<IGrouping<Tkey, TSource>>。 ILookup具有方便的索引器属性,因此可以类似字典(或类似查找)的方式使用,而GroupBy则不能。没有索引器的GroupBy很难使用。然后,您可以引用返回对象的唯一方法是通过遍历它(或使用其他LINQ扩展方法)。换句话说,在GroupBy工作的任何情况下,ToLookup也会工作。 所有这些使我想到了一个问题,为什么我会一直不喜欢GroupBy?为什么要存在?
110 c#  linq 

5
如何发现嵌入式资源的“路径”?
我将PNG存储为程序集中的嵌入式资源。在同一个程序集中,我有一些这样的代码: Bitmap image = new Bitmap(typeof(MyClass), "Resources.file.png"); 名为“ file.png”的文件存储在“ Resources”文件夹中(在Visual Studio中),并被标记为嵌入式资源。 该代码失败,并显示以下异常: 在类MyNamespace.MyClass中找不到资源MyNamespace.Resources.file.png 我有相同的代码(在不同的程序集中,加载了不同的资源)可以工作。所以我知道这项技术是合理的。我的问题是我最终花费大量时间试图找出正确的路径。如果我可以简单地查询(例如在调试器中)程序集以找到正确的路径,那将节省很多麻烦。
110 c#  .net  resources 

2
如何从字节数组添加电子邮件附件?
我有一个byte[]与文件的内容。我想使用发送为附件System.Net.Mail。 我注意到附件类有1个接受流的重载。 Attachment att = new Attachment(Stream contentStream,string name); 是否可以byte[]通过此重载?
110 c# 



6
未使用的using指令如何影响性能?
每当您创建新页面或项目时,Visual Studio都会自动为您创建using语句。其中一些您将永远不会使用。 Visual Studio具有“删除未使用的用法”的有用功能。 我想知道,如果永不访问的using语句仍然在文件顶部提到,则对程序性能是否有负面影响。
110 c#  .net  visual-studio  using 

7
为什么针对VB.NET和C#中的值检查null会有区别?
在VB.NET中,会发生以下情况: Dim x As System.Nullable(Of Decimal) = Nothing Dim y As System.Nullable(Of Decimal) = Nothing y = 5 If x <> y Then Console.WriteLine("true") Else Console.WriteLine("false") '' <-- I got this. Why? End If 但是在C#中会发生这种情况: decimal? x = default(decimal?); decimal? y = default(decimal?); y = 5; if (x != y) …
110 c#  vb.net  .net-4.0  null 

3
为什么C#编译器在静态方法调用实例方法的地方不会出错?
以下代码具有一个静态方法Foo(),它调用实例方法Bar(): public sealed class Example { int count; public static void Foo( dynamic x ) { Bar(x); } void Bar( dynamic x ) { count++; } } 它编译时没有错误*,但在运行时生成运行时绑定程序异常。如预期的那样,将动态参数删除到这些方法会导致编译器错误。 那么,为什么要使用动态参数才能编译代码?ReSharper也不将其显示为错误。 编辑1: *在Visual Studio 2008中 编辑2:已添加,sealed因为子类可能包含静态Bar(...)方法。当无法在运行时调用实例方法以外的其他任何方法时,即使是密封版本也可以编译。

8
如何在屏幕上居中放置WPF应用程序?
我想在启动时在主屏幕上将WPF应用居中。我知道我必须设置myWindow.Left和myWindow.Top,但是我从哪里得到这些值? 我发现System.Windows.Forms.Screen.PrimaryScreen,显然不是WPF。有WPF替代方案可以给我屏幕分辨率或类似的东西吗?


5
序列包含多个元素
我在通过Linq获取类型为“ RhsTruck”的列表并使它们显示时遇到一些问题。 RhsTruck仅具有属性Make,Model,Serial等... RhsCustomer具有属性CustomerName,CustomerAddress等... 我不断收到错误消息“序列包含多个元素”。有任何想法吗?我是否以错误的方式处理此问题? public RhsCustomer GetCustomer(string customerNumber) { using (RhsEbsDataContext context = new RhsEbsDataContext() ) { RhsCustomer rc = (from x in context.custmasts where x.kcustnum == customerNumber select new RhsCustomer() { CustomerName = x.custname, CustomerAddress = x.custadd + ", " + x.custcity CustomerPhone = x.custphone, CustomerFax = x.custfax …
110 c#  .net  asp.net  linq 

12
日期与日期时间
我正在开发一个要求返回事件日期的程序。 我正在寻找一个Date,而不是一个DateTime。 是否有只返回日期的数据类型?
110 c#  .net  asp.net 


10
检测到JSON.Net自引用循环
我的网站内有4个表的mssql数据库。 当我使用这个: public static string GetAllEventsForJSON() { using (CyberDBDataContext db = new CyberDBDataContext()) { return JsonConvert.SerializeObject((from a in db.Events where a.Active select a).ToList(), new JavaScriptDateTimeConverter()); } } 该代码导致以下错误: Newtonsoft.Json.JsonSerializationException:为类型为“ DAL.Cyber​​User”的属性“ Cyber​​User”检测到自引用循环。路径'[0] .EventRegistrations [0] .Cyber​​User.UserLogs [0]'。

21
在单元测试中模拟HttpClient
我在尝试包装要在单元测试中使用的代码时遇到一些问题。问题是这样的。我有接口IHttpHandler: public interface IHttpHandler { HttpClient client { get; } } 和使用它的类,HttpHandler: public class HttpHandler : IHttpHandler { public HttpClient client { get { return new HttpClient(); } } } 然后是Connection类,该类使用simpleIOC注入客户端实现: public class Connection { private IHttpHandler _httpClient; public Connection(IHttpHandler httpClient) { _httpClient = httpClient; } } 然后我有一个具有此类的单元测试项目: private IHttpHandler …
110 c#  unit-testing  moq 

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.