Questions tagged «c#»

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

13
如何在ASP.NET Core中获得当前用户
我想要一个当前用户来获取用户的信息,例如电子邮件。但是我不能在asp.net核心中做到这一点。我很困惑这是我的代码。 HttpContext在控制器的构造函数中几乎为null 。在每个动作中都吸引用户是不好的。我想一次获取用户信息并设置为ViewData; public DashboardController() { var user = HttpContext.User.GetUserId(); }

7
在C#中仅将类型作为参数传递
假设地,我这样做很方便: foo.GetColumnValues(dm.mainColumn, int) foo.GetColumnValues(dm.mainColumn, string) 其中,GetColumns方法将根据传递的类型在内部调用其他方法。 是的,我可以将其作为布尔标志或类似的标志来实现,我只是想知道是否有一种方法可以通过此方法,然后问: typeof(arg [1])或类似的... 我也可以重写该方法,使用泛型,等等-我知道有不同的方法可以做到这一点,我只是好奇这是否可行。
128 c#  types  methods  parameters 

13
如何在ASP.NET Core中使用ILogger进行单元测试
这是我的控制器: public class BlogController : Controller { private IDAO<Blog> _blogDAO; private readonly ILogger<BlogController> _logger; public BlogController(ILogger<BlogController> logger, IDAO<Blog> blogDAO) { this._blogDAO = blogDAO; this._logger = logger; } public IActionResult Index() { var blogs = this._blogDAO.GetMany(); this._logger.LogInformation("Index page say hello", new object[0]); return View(blogs); } } 如您所见,我有2个依赖项,a IDAO和aILogger 这是我的测试类,我使用xUnit进行测试,使用Moq创建模拟和存根,我可以DAO轻松进行模拟,但是由于ILogger我不知道要做什么,所以我只传递了null并注释掉了登录控制器的调用运行测试时。有什么方法可以测试,但仍然以某种方式保持记录器? public class …

30
在编写单元测试时,您如何知道要测试什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 改善这个问题 使用C#,我需要一个名为的类User,该类具有用户名,密码,活动标志,名字,姓氏,全名等。 应该有验证和保存用户的方法。我是否只为这些方法编写测试?而且,由于它们是.Net的getter和setter,因此我是否还需要担心测试属性?
127 c#  unit-testing  tdd 

11
MVC已按下哪个提交按钮
我的MVC表单上有两个按钮: <input name="submit" type="submit" id="submit" value="Save" /> <input name="process" type="submit" id="process" value="Process" /> 从我的控制器动作中,我如何知道哪一个被按下了?
127 c#  asp.net  asp.net-mvc  razor 

1
为什么这个F#代码这么慢?
C#和F#中的Levenshtein实现。对于大约1500个字符的两个字符串,C#版本的速度提高了10倍。C#:69毫秒,F#867毫秒。为什么?据我所知,他们做的完全相同吗?不管是Release版本还是Debug版本。 编辑:如果有人来这里专门寻找“编辑距离”实现,那么它就坏了。工作代码在这里。 C#: private static int min3(int a, int b, int c) { return Math.Min(Math.Min(a, b), c); } public static int EditDistance(string m, string n) { var d1 = new int[n.Length]; for (int x = 0; x < d1.Length; x++) d1[x] = x; var d0 = new int[n.Length]; for(int i …
127 c#  performance  f#  inline 

15
什么时候在C#中使用线程池?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我一直在尝试学习C#中的多线程编程,对于何时使用线程池而不是创建自己的线程,我感到困惑。一本书建议仅将线程池用于小型任务(无论这意味着什么),但我似乎找不到任何真正的准则。在做出此编程决策时,需要考虑哪些因素?


10
为什么2048x2048与2047x2047阵列乘法相比会产生巨大的性能影响?
我正在做一些矩阵乘法基准测试,如前面在MATLAB为什么矩阵乘法中这么快提到的那样 。 现在,我又遇到了另一个问题,当将两个2048x2048矩阵相乘时,C#与其他矩阵有很大的不同。当我尝试仅乘以2047x2047矩阵时,这似乎很正常。也添加了一些其他内容进行比较。 1024x1024-10秒。 1027x1027-10秒。 2047x2047-90秒。 2048x2048-300秒。 2049x2049-91秒。(更新) 2500x2500-166秒 2k x 2k情况相差三分半钟。 使用2dim数组 //Array init like this int rozmer = 2048; float[,] matice = new float[rozmer, rozmer]; //Main multiply code for(int j = 0; j < rozmer; j++) { for (int k = 0; k < rozmer; k++) { float …

8
如何在DataGrid中设置所选行的颜色
DataGrid中选定行的默认背景颜色太暗,以至于我无法读取它。无论如何有覆盖它吗? 试过这个 <dg:DataGrid.RowStyle> <Style TargetType="{x:Type dg:DataGridRow}"> <Style.Triggers> <Trigger Property="IsSelected" Value="True" > <Setter Property="Background" Value="Gainsboro" /> </Trigger> </Style.Triggers> </Style> </dg:DataGrid.RowStyle> 但是还是没有
127 c#  wpf  xaml  datagrid 



13
ASP.NET MVC如何将ModelState错误转换为json
您如何获得所有ModelState错误消息的列表?我找到了以下代码来获取所有键:(返回带有ModelState错误的键列表) var errorKeys = (from item in ModelState where item.Value.Errors.Any() select item.Key).ToList(); 但是,如何将错误消息显示为IList或IQueryable? 我可以去: foreach (var key in errorKeys) { string msg = ModelState[error].Errors[0].ErrorMessage; errorList.Add(msg); } 但这就是手动完成-当然有办法使用LINQ吗?.ErrorMessage属性太远了,我不知道如何编写LINQ ...

4
HashSet如何比较元素是否相等?
我有一堂课是IComparable: public class a : IComparable { public int Id { get; set; } public string Name { get; set; } public a(int id) { this.Id = id; } public int CompareTo(object obj) { return this.Id.CompareTo(((a)obj).Id); } } 当我将此类的对象列表添加到哈希集时: a a1 = new a(1); a a2 = new a(2); HashSet<a> …
127 c#  hashset 

4
TFS代码评论-显示对评论的更新文件
我们开始使用VS 2012和VS 2013预览内置的代码查看功能。请求审阅并添加评论似乎很简单。如果有人添加注释以请求更改代码,那么请求者如何进行这些更改并显示出来? 因此,流程将如下所示: 第1个人要求进行代码审查。 第2个人添加评论并选择“需要工作”。 人员1进行必要的更改。 现在,第1个人如何显示对第2个人的这些更改?您可以添加评论并发送评论,但文件不会更改。我假设文件来自请求原始审阅时创建的变更集。第1个人是否应该关闭此评论并请求第二次评论? 进行第二次审核似乎不是最佳选择,因为您失去了进行更改原因的对话记录。 有大量网站显示了如何使用代码审查的基本功能,但是是否有任何网站可以显示最佳实践?例如,谁应该单击文件旁边的复选框?

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.