Questions tagged «c#»

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

13
如何在WPF中获取当前屏幕的大小?
我知道我可以通过使用获得主屏幕的大小 System.Windows.SystemParameters.PrimaryScreenWidth; System.Windows.SystemParameters.PrimaryScreenHeight; 但是,如何获取当前屏幕的大小?(多屏幕用户并不总是使用主屏幕,并且并非所有屏幕都使用相同的分辨率,对吗?) 能够从XAML访问大小很好,但是从代码(C#)进行访问就足够了。
87 c#  wpf  xaml  size  screen 


8
为什么.NET中没有Tree <T>类?
.NET中的基类库具有一些出色的集合数据结构(列表,队列,堆栈,字典),但奇怪的是,它不包含任何用于二叉树的数据结构。对于某些算法,例如利用不同遍历路径的算法,这是非常有用的结构。我正在寻找正确编写的免费实现。 我只是盲目而没有找到它吗...它埋在BCL中的某个地方吗?如果不是,那么有人可以为二进制树推荐一个免费的或开源的C#/。NET库吗?最好是采用泛型的。 编辑:澄清我在找什么。我对内部使用树的有序字典集合不感兴趣。我实际上对一棵二叉树感兴趣-一棵二叉树公开了它的结构,以便您可以执行诸如提取子树之类的操作,或对节点执行修复后遍历。理想情况下,可以扩展此类以提供特殊树的行为(即,红色/黑色,AVL,平衡的树等)。


4
DisplayNameFor()来自模型中的List <Object>
我相信这很简单,我似乎找不到正确的方法来显示模型列表中项目的显示名称。 我的简化模型: public class PersonViewModel { public long ID { get; set; } private List&lt;PersonNameViewModel&gt; names = new List&lt;PersonNameViewModel&gt;(); [Display(Name = "Names")] public List&lt;PersonNameViewModel&gt; Names { get { return names; } set { names = value; } } } 和名称: public class PersonNameViewModel { public long ID { get; set; …
87 c#  asp.net-mvc  razor  model 

5
如何使用LINQ异步等待任务列表?
我有一个这样创建的任务列表: public async Task&lt;IList&lt;Foo&gt;&gt; GetFoosAndDoSomethingAsync() { var foos = await GetFoosAsync(); var tasks = foos.Select(async foo =&gt; await DoSomethingAsync(foo)).ToList(); ... } 通过使用.ToList(),任务应该全部开始。现在,我要等待其完成并返回结果。 这在上面的...块中有效: var list = new List&lt;Foo&gt;(); foreach (var task in tasks) list.Add(await task); return list; 它可以满足我的要求,但是看起来很笨拙。我宁愿这样写一些简单的东西: return tasks.Select(async task =&gt; await task).ToList(); ...但是不能编译。我想念什么?还是不可能以此方式表达事物?
87 c#  linq  async-await 

9
序列化和反序列化.NET对象的最快方法
我正在寻找序列化和反序列化.NET对象的最快方法。这是我到目前为止的内容: public class TD { public List&lt;CT&gt; CTs { get; set; } public List&lt;TE&gt; TEs { get; set; } public string Code { get; set; } public string Message { get; set; } public DateTime StartDate { get; set; } public DateTime EndDate { get; set; } public static string …

5
C#/。NET中仅命名空间的类可见性?
在C#中,您是否可以使类仅在其自己的名称空间中可见而无需使用其他程序集?这对于不应该在其他地方使用的典型帮助器类似乎很有用。(即Java所谓的package-private类)
87 c#  .net 

6
如何使用Moq模拟扩展方法?
我正在编写一个依赖于扩展方法结果的测试,但是我不希望该扩展方法的将来失败会破坏该测试。模拟该结果似乎是显而易见的选择,但是Moq似乎没有提供重写静态方法(扩展方法的要求)的方法。Moq.Protected和Moq.Stub也有类似的想法,但是在这种情况下他们似乎没有提供任何帮助。我是否缺少某些东西,还是应该以其他方式处理? 这是一个简单的示例,但失败了,并出现了常见的“对不可覆盖成员的无效期望”。这是一个需要模拟扩展方法的糟糕示例,但应该这样做。 public class SomeType { int Id { get; set; } } var ListMock = new Mock&lt;List&lt;SomeType&gt;&gt;(); ListMock.Expect(l =&gt; l.FirstOrDefault(st =&gt; st.Id == 5)) .Returns(new SomeType { Id = 5 }); 至于可能建议我使用隔离器的所有TypeMock迷:我很感谢所做的努力,因为看起来TypeMock可以蒙住眼睛和使人兴奋,但我们的预算不会很快增加。


3
泛型类的默认构造函数的语法是什么?
在C#中是否禁止为泛型类实现默认构造函数? 如果没有,为什么下面的代码无法编译?(&lt;T&gt;虽然我删除它编译) 那么,为泛型类定义默认构造函数的正确方法是什么? public class Cell&lt;T&gt; { public Cell&lt;T&gt;() { } } 编译时错误:错误1类,结构或接口成员声明中的无效令牌'('
87 c#  .net  generics 


4
您什么时候以及为什么要上课?
在C#和C ++ / CLI中,关键字sealed(或NotInheritable在VB中)用于保护类免受任何继承机会(该类是不可继承的)。我知道面向对象编程的一个功能是继承,我觉得使用sealed与该功能相反的功能会停止继承。是否有一个示例可以说明sealed使用它的好处以及何时使用它很重要?
87 c#  .net  oop  c++-cli 


7
C#-从另一个字符串中删除第一次出现的子字符串的最简单方法
我需要从另一个字符串中删除一个字符串的第一个(并且只有第一个)出现。 这是替换字符串的示例"\\Iteration"。这个: ProjectName \\ Iteration \\ Release1 \\ Iteration1 会变成这样: ProjectName \\ Release1 \\ Iteration1 下面是执行此操作的一些代码: const string removeString = "\\Iteration"; int index = sourceString.IndexOf(removeString); int length = removeString.Length; String startOfString = sourceString.Substring(0, index); String endOfString = sourceString.Substring(index + length); String cleanPath = startOfString + endOfString; 似乎很多代码。 所以我的问题是:是否有一种更清洁/更易读/更简洁的方式来做到这一点?
87 c#  string 

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.