Questions tagged «c#»

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

10
获取字符串的第n次出现的索引?
除非缺少明显的内置方法,否则在字符串中获取字符串的第n次出现的最快方法是什么? 我意识到我可以通过在每次循环迭代时更新其开始索引来循环IndexOf方法。但是这样做对我来说似乎是浪费。
100 c#  .net  string  indexing  indexof 


19
一起计算正弦和余弦的最快方法是什么?
我想同时计算一个值的正弦和余弦(例如,创建旋转矩阵)。当然,我可以像一样一个接一个地分别计算它们a = cos(x); b = sin(x);,但是我想知道在同时使用两个值时是否有更快的方法。 编辑: 总结到目前为止的答案: 弗拉德说,那是asm命令FSINCOS计算这两个(几乎在FSIN单独调用的同时) 像志注意到的那样,这种优化有时已经由编译器完成(使用优化标志时)。 caf指出,函数sincos和sincosf可能是可用的,可以通过直接包括math.h 关于使用查找表的 tanascius方法存在争议。(但是,在我的计算机上和在基准测试情况下,它的运行速度比以前快3倍sincos 32位浮点的精度几乎。) 乔尔·古德温(Joel Goodwin)链接了一种极快的近似技术的有趣方法,具有很高的准确度(对我来说,这比查表还要快)
100 c#  c++  c  algorithm  math 

5
什么时候应该使用Readonly和Get only属性
在.NET应用程序中,何时应使用“ ReadOnly”属性,何时应仅使用“ Get”属性。两者之间有什么区别。 private readonly double Fuel= 0; public double FuelConsumption { get { return Fuel; } } 要么 private double Fuel= 0; public double FuelConsumption { get { return Fuel; } }
100 c#  .net 

3
搜寻Excel自订功能工具提示
这个问题以前曾被问 过,但是每次接受的答案都只是一个辞职,使用Application.MacroOptions(VBA6)(VBA7)提供功能描述,但是该信息实际上并没有作为工具提示出现,因此不能解决我的问题。 目标 我们所有人都希望能够通过任何方式(VBA,VSTO或COM加载项)定义自定义功能,并为用户提供功能及其参数的弹出式/工具提示说明的好处,例如对于每个内置Excel函数,无论是嵌入式还是在编辑栏中都会出现: 对此需求的广泛接受的答案是自定义功能是不可能的,但是我想挑战这一信念。 问题 当前,我所见过的最好的人是定义函数(通常使用上面的MacroOptions调用),以便在打开函数对话框(在公式栏中的fx按钮)时,它们的功能和参数说明如下所示: 如您所见,这是一个具有许多参数的复杂函数。如果用户不了解此“函数参数”对话框以及如何调出对话框,而是仅熟悉Excel的标准工具提示,则他们只会看到公式名称,而没有其他帮助: 他们没有机会正确地提供所需的参数。(不阅读文档,当然,没有用户会这样做。) 现在,高级用户可能知道通过键入Ctrl+ Shift+ A,他们将被授予自动完成的功能参数列表,如下所示: 但是,当然,我们有与上述相同的问题,那就是标准excel用户将只习惯于第一张图片的默认行为,并且可能永远不会学习该功能。 到这一点应该很清楚为什么还不够,我们希望每个内置函数都有什么-内联工具提示,告诉用户如何使用该函数。 戏弄 起初,我可能已经确信,除了本机Excel应用程序功能之外,这根本是不可能的。加载项和VBA是可扩展性功能,此工具提示可能根本无法扩展。但是该理论受到Analysis Toolpak加载项的存在的挑战。当然,它是Microsoft内置的,但是ANALYS32.xll是一个独立的XLL加载项,就像可以在VB,C,C ++和C#中生成的加载项一样。当然,当将此XLL加载到应用程序中时,它提供的功能具有与本机excel函数相同的工具提示: 当然,如果此信息以某种方式编码在此XLL文件中并传递给Excel,是否可以通过我们自己的加载项复制它?我现在要开始对反编译进行一些自我介绍,并看看我是否可以对分析工具库中发生的一切进行逆向工程。 您将如何提供帮助 我几乎可以肯定,我已经研究了所有有关此问题的公开信息。如果有人知道我不知道的事情可能会有所帮助,请随意输入。我对反向工程编译的dll / xlls非常不熟悉,因此,如果有人想弹出打开他们的Analysis32.xll和弄清楚它的自定义函数定义是怎么回事,我不得不承担。否则,我会一直自己研究这个问题,直到碰到所有死胡同,并汇报发现的问题。

9
如何在C#中获取昨天和明天的日期时间
我有一个代码: int MonthNow = System.DateTime.Now.Month; int YearNow = System.DateTime.Now.Year; int DayNow = System.DateTime.Now.Day; 如何使用C#来获取昨天和明天的日,月和年? 当然,我可以这样写: DayTommorow = DayNow +1; 但是明天可能是其他月份或年份。是否有C#内置工具来查找昨天和今天?
100 c#  datetime 

7
ReSharper-在单行上强制花括号
当不使用花括号将单行代码块包围时,是否可以将ReSharper配置为修复C#代码,如下所示: if (blnSomeCondition) DoSomething(); // complain if (blnSomeOtherCondition) { DoSomethingElse(); // don't complain } 谢谢
100 c#  resharper 

9
检查浮点值是否等于0是否安全?
我知道您通常不能依赖双精度或十进制类型值之间的相等性,但是我想知道0是否是特例。 虽然我可以理解0.00000000000001和0.00000000000002之间的不精确性,但0本身似乎很难弄乱,因为它什么都没有。如果您对某事一无所知,那就再也不是什么了。 但是我对这个话题不太了解,所以我不必说。 double x = 0.0; return (x == 0.0) ? true : false; 那会永远返回真吗?




4
路由:以下操作方法之间当前的操作请求[…]不明确
我有一个名为的视图Browse.chtml,用户可以在其中输入搜索词,也可以将搜索词留空。输入搜索词时,我要将页面定向到http://localhost:62019/Gallery/Browse/{Searchterm} ,而没有输入任何内容时,我要将浏览器定向到http://localhost:62019/Gallery/Browse/Start/Here。 当我尝试此操作时,出现错误: 在以下操作方法之间,当前对控制器类型“ GalleryController”采取的“浏览”操作请求不明确:类型为AutoApp_MVC.Controllers.GalleryController的System.Web.Mvc.ActionResult Browse(System.String)System.Web.Mvc.ActionResult浏览(Int32,System.String)在类型AutoApp_MVC.Controllers.GalleryController上 我使用MVC所做的一切都是第一次。我不确定目前还有什么尝试。 public ActionResult Browse(string id) { var summaries = /* search using id as search term */ return View(summaries); } public ActionResult Browse(string name1, string name2) { var summaries = /* default list when nothing entered */ return View(summaries); } 我在Global.asax.cs中也有这个: routes.MapRoute( "StartBrowse", "Gallery/Browse/{s1}/{s2}", …
100 c#  asp.net-mvc 

5
iTextSharp-通过电子邮件附件发送内存中的pdf
我在这里问了几个问题,但仍然有问题。如果您能告诉我我在代码中做错了什么,我将不胜感激。我从ASP.Net页运行上面的代码,并得到“无法访问封闭的流”。 var doc = new Document(); MemoryStream memoryStream = new MemoryStream(); PdfWriter.GetInstance(doc, memoryStream); doc.Open(); doc.Add(new Paragraph("First Paragraph")); doc.Add(new Paragraph("Second Paragraph")); doc.Close(); //if I remove this line the email attachment is sent but with 0 bytes MailMessage mm = new MailMessage("username@gmail.com", "username@gmail.com") { Subject = "subject", IsBodyHtml = true, Body = …
100 c#  email  pdf  itextsharp 

19
当字符串为数字时,如何在按值排序时按字母顺序对字符串进行排序?
我正在尝试对一组数字进行排序,这些数字是字符串,我希望它们能按数字排序。 问题是我无法将数字转换为int。 这是代码: string[] things= new string[] { "105", "101", "102", "103", "90" }; foreach (var thing in things.OrderBy(x => x)) { Console.WriteLine(thing); } 输出:101、102、103、105、90 我想要:90、101、102、103、105 编辑:输出不能为090、101、102 ... 更新了代码示例,使其说“东西”而不是“大小”。该数组可以是这样的: string[] things= new string[] { "paul", "bob", "lauren", "007", "90" }; 这意味着它需要按字母顺序和数字排序: 007、90,鲍勃,劳伦,保罗

3
可访问性不一致:属性类型难以访问
请有人帮助解决以下错误: 可访问性不一致:与属性“ Test.Form1.thelivery”相比,属性类型“ Test.Delivery”的访问性较差 private Delivery thedelivery; public Delivery thedelivery { get { return thedelivery; } set { thedelivery = value; } } 由于不一致的错误消息,我无法运行该程序。 这是我的授课课: namespace Test { class Delivery { private string name; private string address; private DateTime arrivalTime; public string Name { get { return name; } set …
100 c#  properties 

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.