Questions tagged «c#»

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


19
C#中的树数据结构
我在C#中寻找树或图的数据结构,但我猜没有提供。使用C#2.0进行的数据结构的广泛检查解释了一些原因。是否有一个方便使用的库通常用于提供此功能?也许可以通过一种策略模式来解决本文中提出的问题。 我实现自己的树有点愚蠢,就像实现自己的ArrayList一样。 我只想要可以不平衡的通用树。想一想目录树。C5看起来很漂亮,但是它们的树结构似乎被实现为平衡的红黑树,比表示节点的层次结构更适合于搜索。

7
合并两个表达式(Expression <Func <T,bool >>)
我有两个类型的表达式,Expression&lt;Func&lt;T, bool&gt;&gt;我想对它们进行“或”,“或”或“非”运算,并获得相同类型的新表达式 Expression&lt;Func&lt;T, bool&gt;&gt; expr1; Expression&lt;Func&lt;T, bool&gt;&gt; expr2; ... //how to do this (the code below will obviously not work) Expression&lt;Func&lt;T, bool&gt;&gt; andExpression = expr AND expr2
248 c#  linq  lambda  expression 


9
如何计算一条线与水平轴之间的角度?
在编程语言(Python,C#等)中,我需要确定如何计算直线和水平轴之间的角度? 我认为一张图片最能说明我想要的内容: 给定(P1 x,P1 y)和(P2 x,P2 y),计算此角度的最佳方法是什么?原点在左上角,仅使用正象限。
247 c#  python  trigonometry 

10
C#静态构造函数线程安全吗?
换句话说,此Singleton实现线程是否安全: public class Singleton { private static Singleton instance; private Singleton() { } static Singleton() { instance = new Singleton(); } public static Singleton Instance { get { return instance; } } }

26
ViewModel应该如何关闭表单?
我正在尝试学习WPF和MVVM问题,但是遇到了麻烦。这个问题与这个问题相似(但不完全相同)。 我有一个使用MVVM模式编写的“登录”表单。 此表单具有一个ViewModel,其中包含用户名和密码,这些用户名和密码使用常规数据绑定绑定到XAML中的视图。它还具有一个“登录”命令,该命令绑定到表单上的“登录”按钮,使用常规数据绑定绑定。 当“ Login”命令触发时,它将调用ViewModel中的一个函数,该函数将关闭并通过网络发送数据以进行登录。完成此函数后,将执行2个操作: 登录名无效-我们只显示一个MessageBox,一切正常 登录名有效,我们需要关闭“登录名”表单,并让它返回true,因为它是DialogResult... 问题是,ViewModel对实际视图一无所知,那么如何关闭视图并告诉它返回特定的DialogResult?我可以在CodeBehind中粘贴一些代码,和/或将View传递给ViewModel,但这似乎将完全击败MVVM的整个方面。 更新资料 最后,我只是违反了MVVM模式的“纯度”,并让View发布了一个Closed事件,并公开了一个Close方法。然后,ViewModel将仅调用view.Close。该视图仅通过接口已知,并通过IOC容器连接,因此不会丢失可测试性或可维护性。 接受的答案是-5票,似乎很愚蠢!虽然我很清楚通过“纯粹”解决问题会带来的良好感觉,但我当然不是唯一认为200行事件,命令和行为只是为了避免使用一种方法的人。 “模式”和“纯度”的名称有点荒谬。
247 c#  wpf  mvvm 

10
三元运算符的速度是if-else块的两倍吗?
我到处都读到,三元运算符应该比其等效的if- else块更快,或至少相同。 但是,我进行了以下测试,发现情况并非如此: Random r = new Random(); int[] array = new int[20000000]; for(int i = 0; i &lt; array.Length; i++) { array[i] = r.Next(int.MinValue, int.MaxValue); } Array.Sort(array); long value = 0; DateTime begin = DateTime.UtcNow; foreach (int i in array) { if (i &gt; 0) { value += 2; …

28
在应用程序配置文件中找不到名为“ MyEntities”的连接字符串
我正在使用实体框架和ASP.NET MVC 4来构建应用程序 我的解决方案分为两个项目; 一个包含我的数据模型(.edmx)文件和一些自定义接口的类库 引用上面的类库的“容器” MVC项目 我的问题是,当我尝试使用“MyEntites” 的DbContext我得到了以下错误: 在应用程序配置文件中找不到名为“ MyEntities”的连接字符串。 我认为问题与连接字符串位于类库的app.config而非MVC项目中有关。 有没有人有什么建议?

13
如何将JSON对象转换为自定义C#对象?
有没有一种简单的方法可以使用通过AJAX传递的JSON对象填充C#对象? 这是使用JSON.stringify从页面传递给C#WEBMETHOD的JSON对象 { "user": { "name": "asdf", "teamname": "b", "email": "c", "players": ["1", "2"] } } 接收JSON对象的C#WebMetod [WebMethod] public static void SaveTeam(Object user) { } C#类,表示传递给WebMethod的JSON对象的对象结构 public class User { public string name { get; set; } public string teamname { get; set; } public string email { get; set; …
246 c#  asp.net  .net  ajax  json 


21
如何从ASP.NET Core中的.json文件读取AppSettings值
我已经在文件appsettings / Config .json中设置了我的AppSettings数据,如下所示: { "AppSettings": { "token": "1234" } } 我已经在网上搜索了如何从.json文件读取AppSettings值的信息,但没有任何有用的信息。 我试过了: var configuration = new Configuration(); var appSettings = configuration.Get("AppSettings"); // null var token = configuration.Get("token"); // null 我知道使用ASP.NET 4.0可以做到这一点: System.Configuration.ConfigurationManager.AppSettings["token"]; 但是如何在ASP.NET Core中做到这一点?

17
如何使用Entity Framework 6更新记录?
我正在尝试使用EF6更新记录。首先找到记录(如果存在),对其进行更新。这是我的代码:- var book = new Model.Book { BookNumber = _book.BookNumber, BookName = _book.BookName, BookTitle = _book.BookTitle, }; using (var db = new MyContextDB()) { var result = db.Books.SingleOrDefault(b =&gt; b.BookNumber == bookNumber); if (result != null) { try { db.Books.Attach(book); db.Entry(book).State = EntityState.Modified; db.SaveChanges(); } catch (Exception ex) { throw; …

7
如何使用Assert.Throws声明异常的类型?
我如何使用Assert.Throws断言的类型和实际的消息措辞。 像这样: Assert.Throws&lt;Exception&gt;( ()=&gt;user.MakeUserActive()).WithMessage("Actual exception message") 我正在测试的方法会抛出具有不同消息的相同类型的多个消息,并且我需要一种方法来测试是否根据上下文抛出正确的消息。


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.