Questions tagged «c#»

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

12
使用C#的两个小数位
decimal Debitvalue = 1156.547m; decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:0.00}", Debitvalue)); 我只需要保留两位小数,但是使用此代码,我得到1156.547。让我知道显示小数点后两位必须使用的格式。
71 c#  formatting 

4
Asp.Net Core MVC中的Request.IsAjaxRequest()在哪里?
若要了解有关令人兴奋的新Asp.Net-5框架的更多信息,我试图使用新发布的Visual Studio 2015 CTP-6构建Web应用程序。 大多数事情看起来确实很有希望,但是我似乎找不到Request.IsAjaxRequest()-我在较老的MVC项目中经常使用的功能。 有没有更好的方法可以做到这一点-迫使他们删除此方法-还是“隐藏”在其他地方? 感谢您对在哪里找到它或该怎么做的任何建议!

4
命名空间system.windows中不存在“表单”
我刚刚开始从事C#工作,并且不喜欢从某个论坛获得的一些代码示例。 这段代码使用的是using system.windows.forms我收到错误的命名空间: 表单在名称空间system.windows中不存在。 我也是收到有关未定义功能的一些错误senddown与sendup我认为是在Forms名字空间。 我正在使用Visual Studio 10(带有.net frame work 4.0)。任何想法如何解决此错误?
71 c#  winforms 

4
将Func委托与Async方法一起使用
我正在尝试将Func与异步方法一起使用。我得到一个错误。 无法将异步lambda表达式转换为委托类型'Func<HttpResponseMesage>'。异步lambda表达式可能返回void,Task或Task<T>(都不能转换为)'Func<HttpResponseMesage>'。 以下是我的代码: public async Task<HttpResponseMessage> CallAsyncMethod() { Console.WriteLine("Calling Youtube"); HttpClient client = new HttpClient(); var response = await client.GetAsync("https://www.youtube.com/watch?v=_OBlgSz8sSM"); Console.WriteLine("Got Response from youtube"); return response; } static void Main(string[] args) { Program p = new Program(); Task<HttpResponseMessage> myTask = p.CallAsyncMethod(); Func<HttpResponseMessage> myFun =async () => await myTask; Console.ReadLine(); }

9
设计应用程序时如何使用Func <>和Action <>?
我可以找到的有关Func &lt;&gt;和Action &lt;&gt;的所有示例都很简单,如下所示,您将看到它们在技术上如何工作,但我希望看到它们用于解决以前无法解决或可能解决的问题的示例中仅以更复杂的方式来解决,即我知道它们的工作原理,并且可以看到它们的简洁和强大,因此我想从更大的意义上理解它们,以解决它们所解决的各种问题以及如何在解决方案中使用它们。应用程序设计。 您以什么方式(模式)使用Func &lt;&gt;和Action &lt;&gt;解决实际问题? using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestFunc8282 { class Program { static void Main(string[] args) { //func with delegate Func&lt;string, string&gt; convert = delegate(string s) { return s.ToUpper(); }; //func with lambda Func&lt;string, string&gt; convert2 = s =&gt; s.Substring(3, 10); //action …

7
C#模板引擎
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 7年前关闭。 改善这个问题 我正在寻找一个独立的,易于使用的C#代码模板引擎。我想用占位符创建HTML和XML文件,并用我代码中的数据填充它们。 引擎需要支持循环(将模板的一部分复制成一个对象以上)和条件(仅当某些条件为真时,才将模板的部分添加到最终的HTML / XML中)。有人可以为我推荐一个不错的选择,并添加一个或多或少的此类代码示例的链接,以及有关如何使用推荐组件满足我的需要的一些文档吗? 我还需要使用循环来复制表行,甚至复制整个表(在HTML版本中)和复杂元素(在XML版本中)。

10
C#:内存不足异常
今天我的申请提出了OutOfMemoryException。对我来说,这几乎几乎是不可能的,因为我也有4GB RAM和很多虚拟内存。当我尝试将现有集合添加到新列表时发生了错误。 List&lt;Vehicle&gt; vList = new List&lt;Vehicle&gt;(selectedVehicles); 据我了解,这里没有分配多少内存,因为我的新列表中应该包含的车辆已经存在于内存中。我不得不承认这Vehicle是一个非常复杂的类,我试图一次将大约50.000个项目添加到新列表中。但是,由于Vehicle应用程序中的所有内容都来自大小仅为200MB的数据库,因此我不知道这可能导致什么OutOfMemoryException。
71 c#  out-of-memory 

11
有没有办法从方法返回匿名类型?
我知道我不能写这样的方法: public var MyMethod() { return new{ Property1 = "test", Property2="test"}; } 否则我可以这样做: public object MyMethod() { return new{ Property1 = "test", Property2="test"} } 但是我不想做第二种选择,因为如果这样做,我将不得不使用反射。 为什么我要这样做: 今天,我在aspx页面中有一个方法,该方法返回一个数据表作为结果,但我无法更改它,我试图将此DataTable转换为具有我要使用的属性的Anonymous方法。我不想只创建一个类来做到这一点,因为我将需要多次执行同一查询,所以我认为创建一个返回匿名类型的方法将是一个很好的想法。

11
将C#编译为Native?
我认为我对将.NET字节码编译为本机代码感到有些困惑,或者我对最终结果感到困惑。因此,在我尝试整理我认为我理解的内容时,请多多包涵,以便您可以帮助我找出我所缺少的内容。 我想做的是将用C#编写的应用程序编译为常规的本机代码,就像用C编写时那样。我的推理与性能无关,而与某种程度的保护无关。我知道我的最终目标并非不可能(甚至确实如此困难),但是我只是觉得反转x86汇编比反转Reflector给我的东西更困难。 现在,如果将我的C#应用​​程序扔到Reflector中,我基本上会得到我的源代码。通常,当我将不受管理的C / C ++应用程序放入IDAPro并使用HexRays反编译器时,我得到的反编译程度并不太相同,我不得不诉诸于x86反汇编以了解逻辑流程。我的理解是,如此出色的反编译来自Reflector,这是因为应用程序位于MSIL中,而不是HexRays尝试反编译的更简洁的本机代码。 我不担心客户端计算机仍然需要.NET运行时,我没有尝试绕过任何这些。我想像upx在我的程序上一样运行普通的软件混淆程序,并且作为.NET二进制文件执行失败。 我对这个相关问题的理解ngen可以满足我的要求。我尝试使用ngen。但是,将输出文件从C:\Windows\assemblies\...\applicationName.ni.exe目录复制到某个位置后,我可以双击,并尝试运行它会产生一个错误,提示它不是“有效的Win32应用程序”。此外,当我将其applicationName.ni.exe扔到Reflector中时,我得到的输出与从中获得的输出相同applicationName.exe。由于applicationName.ni.exe应该是本机代码,因此我希望Reflector会出错,但事实并非如此。如果这是我应该做的方式,为什么Reflector仍然给我这么好的反编译? 因此,再次总结一下我的主要问题:如何将.NET程序编译为Reflector不太容易反编译的本机二进制文件?或有什么最佳实践来保护以.NET语言编写的产品免受新手反向工程师的侵害? 如果我需要其他工具,我会选择免费的东西,而不是像Codewall这样的东西。 谢谢! 更新:我了解我在寻找的内容可能会限制该语言的某些功能,例如反射,但是我认为可以。我的代码都没有进行任何显式Assembly.Load调用或任何类似的操作。但是,无论如何都不能将它们替换为GetProcAddress/LoadLibrary通话吗?

13
每N个字符/数字分割一个字符串/数字?
例如,我需要将数字分成偶数部分: 32427237需要变成324 272 37 103092501需要变成103 092 501 我敢肯定,我只能继续输入数字,但是我确定有一种更有效的方法,因为我不想错过这些数字中的字符-数字本身可以是任意长度,所以如果数字是1234567890我希望它分成这些部分123 456 789 0 我已经看过其他语言(例如Python等)中的示例,但我对它们的理解还不够好,无法将它们转换为C#-遍历字符,然后在第三个字符处获取前一个字符,然后使用该索引获取字符串部分做这项工作,但我愿意就如何更好地完成这项工作提出建议。
71 c#  .net  string  split 

11
将字符串转换为十进制,保留分数
我正在尝试转换1200.00为decimal,但Decimal.Parse()将其删除.00。我尝试了一些不同的方法,但是它总是删除.00,除非我提供的分数不为0。 string value = "1200.00"; 方法1 var convertDecimal = Decimal.Parse(value , NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint | NumberStyles.AllowCurrencySymbol); 方法2 var convertDecimal = Convert.ToDecimal(value); 方法3 var convertDecimal = Decimal.Parse(value, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); 如何将string包含转换1200.00为decimal包含1200.00?
71 c#  string  decimal 

10
C#中的File和FileInfo有什么区别?
我一直在阅读,File最好使用Class的静态方法在文件上执行少量任务,例如检查文件是否存在,FileInfo如果要对文件执行许多操作,则应该使用Class的实例。一个特定的文件。 我理解这一点,可以盲目地使用它,但是我想知道为什么会有区别? 使它们适合不同情况的工作方式是什么?使这两个不同的类看起来以不同的方式执行相同操作有什么意义? 如果有人至少可以回答其中一个问题,那将很有帮助。
71 c#  file 

4
如何在C#中一次摆脱多个循环?
如果我有嵌套循环,并且想一次脱离所有循环怎么办? while (true) { // ... while (shouldCont) { // ... while (shouldGo) { // ... if (timeToStop) { break; // Break out of everything? } } } } 在PHP中,break采用一个参数来表示要中断的循环数。可以在C#中完成类似的事情吗? 那可怕的东西怎么样goto? // In the innermost loop goto BREAK // ... BREAK: break; break; break;
71 c#  loops  goto  break 

10
递归搜索目录中的文件
我有以下代码通过目录递归搜索文件,该目录向我返回了所有xml文件的列表。除根目录中的xml文件未包含在列表中之外,其他所有方法都运行良好。 我知道为什么,因为这样做的第一件事是获取根目录中的目录,然后获取文件,从而在根目录上缺少GetFiles()调用。我尝试在foreach之前包含GetFiles()调用,但结果与我预期的不同。 public static ArrayList DirSearch(string sDir) { try { foreach (string d in Directory.GetDirectories(sDir)) { foreach (string f in Directory.GetFiles(d, "*.xml")) { string extension = Path.GetExtension(f); if (extension != null &amp;&amp; (extension.Equals(".xml"))) { fileList.Add(f); } } DirSearch(d); } } catch (Exception ex) { Console.WriteLine(ex.Message); } return fileList; } 我的目录结构是这样的: …
71 c#  recursion 

9
找不到IAppBuilder的类型或名称空间(缺少使用程序集指令的指令)
我正在使用Asp.Net MVC 4应用程序,在其中使用SignalR 2.0.1,并使用Owin Startup类对其进行了映射,并且起初运行良好。 突然,当我尝试重建应用程序时,它说IAppbuilder找不到类型名称空间。 以下是我的入门班 using Microsoft.Owin; using Owin; using WhiteBoardApp; namespace WhiteBoardApp { public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } } } 我也安装了Owin软件包,由于某些原因,我找不到Owin Startup类,所以我只添加了一个普通类并包含了所有需要的引用。我可以知道我在哪里犯错

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.