Questions tagged «c#»

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

13
如何将字符串格式化为金钱
我有一个像 000000000100,我想将其转换为1.00,反之亦然。 前导零将被删除,最后两位是小数。 我举更多的例子: 000000001000 <=> 10.00 000000001005 <=> 10.05 000000331150 <=> 3311.50 下面是我正在尝试的代码,它给了我没有小数的结果: amtf = string.Format("{0:0.00}", amt.TrimStart(new char[] {'0'}));
82 c# 

6
关闭主窗口时,WPF应用程序不会关闭
我习惯于在Visual Studio中进行WinForms编程,但是我想尝试一下WPF。 我在项目中添加了另一个窗口,称为Window01。主窗口称为MainWindow。在public MainWindow()构造函数之前,我声明Window01: Window01 w1; 现在,我在以下实例化此窗口: private void Window_Loaded(object sender, RoutedEventArgs e) { w1 = new Window01(); } 我有一个显示窗口的按钮:w1.ShowDialog();。 这里“有趣”的事实是,如果我启动应用程序(使用调试)并在几秒钟后退出(我在应用程序中不做任何事情),Visual Studio不会像应用程序正在运行那样停止调试。仍在运行。 如果将行w1 = new Window01();移到按钮click方法(即上面的按钮)上ShowDialog(),则Visual Studio的行为正确-也就是说,退出应用程序时调试将停止。 为什么会有这种奇怪的行为?

7
如何将整个字符串与正则表达式匹配?
我需要一个仅在整个字符串与我的查询匹配的地方找到匹配项的正则表达式。 例如,如果我搜索名称为“红色十月”的电影,我只想匹配该确切标题(不区分大小写),而不匹配“狩猎红色十月”之类的标题。不太确定我知道该怎么做。有人知道吗 谢谢!
82 c#  .net  regex 

6
如何从ArrayList创建逗号分隔的字符串?
我将Ids的ArrayList存储在一个处理脚本中,该脚本要以逗号分隔的列表形式吐出,以输出到调试日志。有没有一种方法可以让我轻松地做到这一点而又无需遍历事物? 编辑:感谢Joel指出了.net 2.0及更高版本中可用的List(Of T)。如果可以的话,这使TONS更加容易。
82 c#  vb.net  parsing 

7
替换字符串中单词的最后一次出现-C#
我有一个问题需要替换字符串中单词的最后一次出现。 情况:我得到了以下格式的字符串: string filePath ="F:/jan11/MFrame/Templates/feb11"; 然后,我TnaName像这样替换: filePath = filePath.Replace(TnaName, ""); // feb11 is TnaName 这工作,但是当我有一个问题TnaName是一样的我folder name。当发生这种情况时,我最终得到一个像这样的字符串: F:/feb11/MFrame/Templates/feb11 现在,它已经取代两次出现的TnaName用feb11。有什么办法可以只替换字符串中单词的最后一次出现? 注意:feb11是TnaName来自另一个过程的-这不是问题。
82 c#  asp.net 

12
何时使用StringBuilder?
我了解StringBuilder的好处。 但是,如果我想连接2个字符串,那么我认为不使用StringBuilder这样做会更好(更快)。它是否正确? 在什么时候(字符串数)使用StringBuilder会更好?
82 c#  stringbuilder 


10
在具有给定中心点,半径和度数的圆上找到点
自从我做这样的数学运算已经有10年了……我正在用2D编程游戏并移动一名玩家。当我四处移动播放器时,我正在尝试在-360至360之间的正或负角度(度)下,计算距播放器位置200像素的圆上的点。屏幕为1280x720,0,0为中心点屏幕的 玩家在整个笛卡尔坐标系中移动。我试图找到的要点可能不在屏幕上。 我尝试了文章“找到具有半径和角度的点”中的公式,但是我不相信我理解什么是“角度”,因为当我将-360到360的角度传递给Cos(angle)或Sin时,我得到了奇怪的结果(角度)。 例如,我有... 笛卡尔平面上的1280x720 中心点(玩家位置): 令x =最小值-640到最大值640之间的数字 令y =最小值-360到最大值360之间的数字 玩家周围的圆半径:令r始终= 200 角度:让a = -360到360之间的一个数字(允许负号指向下方或正号指向上方,因此-10和350将给出相同的答案) 在圆上返回X的公式是什么? 在圆上返回Y的公式是什么?
82 c#  geometry 


6
如何防止任务上的同步继续?
我有一些库(套接字网络)代码,Task基于提供了一个基于API的未决请求响应TaskCompletionSource<T>。但是,TPL中有一个烦人之处在于,似乎不可能阻止同步继续。我会希望能够做的是两种: 告诉TaskCompletionSource<T>不允许呼叫者附加TaskContinuationOptions.ExecuteSynchronously,或者 设置结果(SetResult/ TrySetResult)的方式指定TaskContinuationOptions.ExecuteSynchronously应忽略的结果,而是使用池 具体来说,我的问题是传入的数据正在由专用的读取器处理,并且如果呼叫者可以附加TaskContinuationOptions.ExecuteSynchronously它们,则它们可能会使读取器停止运行(这不仅会影响读取器)。以前,我是通过一些黑客来解决此问题的,该黑客可以检测是否存在任何继续,如果将其继续,则将完成推送到上ThreadPool,但是如果调用者饱和了他们的工作队列,这将产生重大影响,因为不会处理完成及时地。如果他们正在使用Task.Wait()(或类似方法),则它们实际上将使自己陷入僵局。同样,这就是为什么阅读器使用专用线程而不使用工人的原因。 所以; 在尝试拖累TPL团队之前:我是否缺少选择? 关键点: 我不希望外部呼叫者能够劫持我的线程 我不能将ThreadPool用作实现,因为它在池饱和时需要工作 下面的示例产生输出(顺序可能会随时间而变化): Continuation on: Main thread Press [return] Continuation on: Thread pool 问题在于,一个随机调用者设法在“主线程”上获得了延续。在实际代码中,这会打断主要读者。坏事! 码: using System; using System.Threading; using System.Threading.Tasks; static class Program { static void Identify() { var thread = Thread.CurrentThread; string name = thread.IsThreadPoolThread ? "Thread pool" : thread.Name; …


5
在Linq中实现“ MinOrDefault”的最新方法是什么?
我从linq表达式生成一个十进制值的列表,我想要最小的非零值。但是,linq表达式很有可能会导致一个空列表。 这将引发异常,并且没有MinOrDefault可以应对这种情况。 decimal result = (from Item itm in itemList where itm.Amount > 0 select itm.Amount).Min(); 如果列表为空,将结果设置为0的最巧妙方法是什么?
82 c#  linq 

6
Uri.Host和Uri.Authority有什么区别
System.Uri有Host,Authority和DnsSafeHost。MS在此处提供了何时Host和DnsSafeHost与众不同的一个很好的示例。 我想了一个类似的例子/解释Host和Authority。
82 c#  .net  uri 

6
C#中的默认布尔值是什么?
布尔值(bool)不能为null。和: bool foo; if(foo){} // Use of unassigned local variable 'foo' 为什么默认值不为false?那么,如果它不为空,那么值是多少呢?是什么原因? 编辑1-默认值的确为false-但所有变量都应初始化,为什么?这是另一个问题;) 编辑2-使用Resharper:private bool foo = false; // Initializing field by default value is redundant???
82 c# 

3
如何在ASP.NET Core中使用SqlClient?
我正在尝试在ASP.net Core中使用SQLClient库,但似乎无法正常工作。我在网上找到了这篇文章,以提供有关如何设置的建议,但不适用于我:http : //blog.developers.ba/using-classic-ado-net-in-asp-net-vnext/ 我有一个简单的控制台应用程序包。我的project.json看起来像这样: { "version": "1.0.0-*", "description": "DBTest Console Application", "authors": [ "" ], "tags": [ "" ], "projectUrl": "", "licenseUrl": "", "compilationOptions": { "emitEntryPoint": true }, "dependencies": { "System.Data.Common": "4.0.1-beta-23516", "System.Data.SqlClient" : "4.0.0-beta-23516" }, "commands": { "DBTest": "DBTest" }, "frameworks": { "dnx451": { }, "dnxcore50": { "dependencies": …

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.