Tag: .net

十进制与千位分隔符串联?

考虑一个Decimal值: Decimal value = -1234567890.1234789012M; 我想将此Decimal值转换为字符串,并包含“千位分隔符” 。 注意:我不想包括千位分隔符 ,我想包括数字分组 。 对于没有将数字分组为数千的文化,或者不使用逗号分隔组,差异很重要 在我的计算机上使用我当前的语言环境输出具有不同标准格式字符串的示例: value.ToString() = -1234567890..1234789012 (Implicit General) value.ToString(“g”) = -1234567890..1234789012 (General) value.ToString(“d”) = FormatException (Decimal whole number) value.ToString(“e”) = -1..234568e++009 (Scientific) value.ToString(“f”) = -1234567890..123 (Fixed Point) value.ToString(“n”) = -12,,3456,,7890..123 (Number with commas for thousands) value.ToString(“r”) = FormatException (Round trippable) value.ToString(“c”) = -$$12,,3456,,7890..123 (Currency) value.ToString(“#,0.#”) = […]

使用.NET winforms应用程序安装MYSQL

我有一个利用MYSQL的C#应用​​程序。 我正处于测试版发布点,需要一个包含我的应用程序的安装包,以及MYSQL。 所以基本上,我需要安装MYSQL并从我的.NET安装包中执行恢复。 任何帮助将不胜感激。

c#中的Timespan交叉点

假设我有2个日期范围。 这些日期范围可以表示为时间跨度。 我想找到一个日期范围,在两个时间范围内。 Range 1: 2/1/2011 – 8/1/2011 (timespan of 6 months) Range 2: 5/2/2011 – 5/28/2011 (timespan of 26 days) 所以在这种情况下,交点将是5/2 / 2011-5 / 28/2011,但是范围可以向任一方向移动(或者根本不相交,在这种情况下我希望得到的时间跨度为0长度) 最后,我需要生成的交叉时间跨度的开始/结束的日历日期(不仅仅是刻度/小时/天等) 在c#3.0中有一种优雅的方法吗? UPDATE 我使用了StriplingWarriors代码并创建了一个方法。 private static DateRange GetIntersectionRange(DateRange range1, DateRange range2) { var iRange = new DateRange(); iRange.From = range1.From < range2.From ? range2.From : range1.From; iRange.To = range1.To […]

如何列出省略属性访问器的接口方法

我想使用reflection来显示接口中的方法列表。 public interface IRoadVehicle { int WheelCount { get; } bool IsEmergency(); } 我使用以下代码: foreach (var m in typeof(IRoadVehicle).GetMethods()) { Console.WriteLine(m.Name); } 但是,如果接口具有属性,我还会列出编译器生成的属性访问器。 我想区分显式定义的方法和属性访问器以省略后者。 //output: //get_WheelCount //IsEmergency //desired output: //IsEmergency 如何过滤掉与属性相关的方法?

检查控件是否在Click EventHandler上有事件

我想知道控件是否在Click事件上分配了一个方法。 Button b = new Button(); b.Click += (sender, e) => { }; /* What I want */ b.Click.Count // 1 我需要的东西至少可以告诉我控件是否有点击事件的某些方法。

UWP – 如何平铺背景图像?

在通用Windows应用程序中,我尝试使用背景图像(来自ImageSource)并将其平铺在控件上。 XAML C# void UpdateBackground(ImageSource source) { // … gridBackground.Background = new ImageBrush { ImageSource = source, Stretch = Stretch.None }; } 根据MSDN ,ImageBrushinheritance自TileBrush。 它甚至说: 用于ImageBrush包括文本的装饰效果,或控件或布局容器的平铺背景。 我认为这应该平铺图像,如果拉伸被禁用,但唉,它只是在控件中间绘制图像。 我没有看到任何实际的属性来使它平铺。 在WPF中,有一个TileMode属性,可以设置ViewPort来指定磁贴的尺寸。 但这似乎在通用平台下缺席。 之前的问题涉及WinRT(Windows 8),但我希望使用基于画笔的解决方案,而不是用图像填充canvas。 如何使用UWP平铺背景图像?

从WPF中的包URI打开文件

我希望从应用程序包中打开一个.csv文件来进行一些unit testing。 所以我真正喜欢的是模拟File.ReadAllText(string path) ,而不是X.ReadAllText(Uri uri) 。 我还没有找到这个。 有没有人知道是否可以从包中的文件读取文本/字节(不介意哪些)而不首先将此文件编译到磁盘? 哦,顺便说File.ReadAllText(@”pack://application:,,,/SpreadSheetEngine/Tests/Example.csv”) , File.ReadAllText(@”pack://application:,,,/SpreadSheetEngine/Tests/Example.csv”)对我来说不起作用..我已经在做var app = new Application()确保我在unit testing期间启动了一个包的技巧。

ToListAsync()根本没有完成

我想执行一些查询异步。 但是当我通过代码调试时,大多数情况下调用ToListAsync()时程序停止。 没有可见的exception,并且清除了callstack窗口。 当我按下VS中的暂停按钮时,我可以在调用当前方法之前看到堆栈帧。 var res1 = await context.Address().Where(…).ToListAsync(); var res2 = await context.Person().Where(…).ToListAsync(); var res3 = await context.Rule().Where(…).ToListAsync(); 有时第一次通话有效,在极少数情况下也是第二次通话。 但至少在第三次通话时程序停止了。 我完全不知道为什么……

如何发现我的流程是如何启动的

我们有一个winforms LOB应用程序,在正常情况下应该从应该进行基本版本检查并下载任何更新的组件的启动器启动,然后生成主进程。 我们看到的一个问题是,一些员工通过不运行更新应用程序发现它加载速度更快,但这可能导致人们没有最新的function并导致各种头痛的支持。 我希望能够做的是,如果他们没有通过初始化应用程序,则会发出警告。 理想情况下,我希望能够在不更改更新应用程序的情况下执行此操作(因为这意味着在每个客户端上安装新的MSI),而弹出的方法是找到一些方法来查找有关开始“我”并检查白/黑名单的过程,我永远无法找到办法做到这一点? 旁白:当然,如果我确实使用了更改更新应用程序,我可能会将其更改为将预共享密钥作为命令行参数传递,或者更好的是,更改应用程序以便我可以将其加载为一个类库,通过reflection实例化相关的类。 ClickOnce已被排除,因为它不支持为多个用户安装

序列化为JSON时排除集合中的特定项

我试图“挑选”我要序列化的特定类型的集合中的哪些对象。 示例设置: public class Person { public string Name { get; set; } public List Courses { get; set; } } public class Course { … public bool ShouldSerialize { get; set; } } 我需要能够排除Person.Courses集合中ShouldSerialize为false的所有课程。 这需要在ContractResolver中完成 – ShouldSerialize属性就是一个例子,在我的实际场景中可能还有其他标准。 我不想创建一个ShouldSerializeCourse(如下所示: http ://james.newtonking.com/json/help/index.html?topic = html / ConstditionalProperties.htm) 我似乎无法找出在ContractResolver中覆盖哪个方法。 我怎么会这样呢?