【C#重构开关语句与空检查】教程文章相关的互联网学习教程文章

c# – 调试时使用函数调用语句作为异常原点【代码】

我在我的单元测试中使用以下小实用程序来比较一些对象:static class ObjectAssert {public static void AreSimilar(object expected, object actual, string message){var serializer = new JavaScriptSerializer();if (serializer.Serialize(expected) != serializer.Serialize(actual)){throw new AssertFailedException(message);}} }基本上它所做的就是将期望和实际序列化为JSON,然后比较生成的字符串,这样可以轻松比较对象的...

c# – Entity Framework 6是否会在Task.Run()语句中正常运行?【代码】

我的问题很简单,如果我在Task.Run中执行读取或写入以使我的方法异步,它是否会像普通的代码一样工作,或者EF中是否存在禁止这种做法的东西? 例如:await Task.Run(() => {var data = _context.KittenLog.ToList(); }我有一种不安的感觉,这样做会打开一堆蠕虫,但我在谷歌上找不到关于两者结合的东西.解决方法:是的,你可以.但是没有必要将它包装在对Task.Run的调用中,因为它具有本机异步支持,请参见https://msdn.microsoft.com/en-us/...

c# – LINQ主要用于Select语句吗?

我认为LINQ在select语句和创建新对象/记录时感觉最好.对于更新和删除,我觉得它不是很容易或方便.任何对LINQ使用有任何看法的人?解决方法:我不能代表LINQ to SQL,但总的来说我同意.有关此问题的详细讨论,请参见“foreach” vs “ForEach”.

c# – 从linq语句中调用函数【代码】

只是想知道这是否是最有效的方法呢?有没有办法让一个语句中的所有linq而不是调用方法,如子选择或什么?newEmployee = (from empin db.employeesselect new {a.EmployeeID,a.Username,Status = emp.GetEmployeeCurrentStatus(a.Username)}).ToList();这是GetEmployeeCurrentStatus,它返回员工的状态:public string GetEmployeeCurrentStatus(string username){using (Entities db = new Entities()){var times = (from d in db.Ti...

c# – 在Xamarin Studio中删除未使用的using语句和使用语句的最佳方法?【代码】

使用Xamarin Studio删除未使用的using语句和使用语句的最佳方法是什么? 我想为Xamarin Studio提供一个工具或扩展/插件来删除和排序所有C#项目文件中的语句(在MAC上). 一些示例代码:using System; using System.Collections;namespace DateInserter {public enum DateInserterCommands{InsertDate,} }重构后:namespace DateInserter {public enum DateInserterCommands{InsertDate,} }解决方法:在Xamarin Studio中,您需要启用代码...

切换语句性能C#【代码】

我们使用switch语句根据一系列条件对对象进行一些处理,我们期望在所有情况下调用默认情况. 我们对解决这个问题的最佳方式存在分歧. 我们中的一些人更喜欢例A:switch (task) {case A:ProcessA();goto default;case B:ProcessB();goto default;case C:ProcessC();goto default;default:Final(); }而其他人则建议使用类似B的例子:switch (task) {case A:ProcessA();break;case B:ProcessB();break;case C:ProcessC();break; }Final(...

检查C#Action / Lambda / Delegate包含任何代码/语句【代码】

任何人都可以告诉我是否有办法看一个动作是否包含任何代码?Action x = new Action(()=>{});应该返回false,而Action x = new Action(()=>{var x = "i am a string" });应该回归真实. 也许用反射?解决方法:也许这会有所帮助:Action x = new Action(() =>{var xx = "i am a string";});Action x1 = new Action(() =>{});MethodBody mb = x.Method.GetMethodBody();MethodBody mb1 = x1.Method.GetMethodBody();byte[] b = mb.GetIL...

Ruby#等效C#’使用’语句【代码】

我在过去的几个月里一直在使用Ruby,但是我还没想到的一件事是使用语句的C#(和其他语言)的Ruby等价物. 我一直在使用require语句声明我对Gems的依赖,但是我变得很懒,并且宁愿不完全限定我经常使用的类名和模块(名称空间)名称. 当然这是可能的,对吧?我一定不能使用正确的术语,因为谷歌没有给我任何有用的东西.解决方法: >> Math::PI => 3.14159265358979 >> PI NameError: uninitialized constant PIfrom (irb):3 >> include Math =>...

c# – 将两个foreach语句合而为一【代码】

我有以下foreach语句,我想转移到linq查询.var equalityGroup= new Dictionary<string, List<string>(); var firstGroup = new Dictionary<string, List<string>(); var request = new List<Request>();foreach(var element in request) {var key = element.Number;if (!equalityGroup.ContainsKey(key)){equalityGroup.Add(key, new List<string>());}foreach(var item in firstGroup){var query = item.Value.FindAll(y => y ==e...

C#bool语句抛出看似未连接的double.parse(字符串)的奇怪异常【代码】

在C#方面,我是一个绝对的初学者.试图通过例子学习.所以我发现自己是一个不错的小计算器教程.一切都很顺利到最后一刻,代码正常工作,但它不需要像33这样的多位数输入.那里有一个bool声明用于打开/关闭算术运算和教程指导者,我们应该把bool = false在数字输入/按钮按下之前(在button_Click中). 他的代码看起来像这样:public partial class MainWindow : Window {double value = 0;string operation = "";bool operation_pressed = fa...

C#学习笔记(四):switch语句【代码】【图】

条件语句 ? ?switch语句快速生成枚举方法,复制枚举名在switch()里,双击TAB 快速生成方法,用纠错功能 ? 随机数????using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace w1d5_randomnumber {class Program{static void Main(string[] args){#region 循环与绘制//实例化一个随机数 骰子Random roll = new Random();//调用这个随机数的Next方法,把他...

C#通过foreach语句搜索数组元素的代码【代码】

内容过程中,将内容过程中常用的内容做个备份,下面的内容段是关于C#通过foreach语句搜索数组元素的内容,希望能对小伙伴们有所用途。 using System; public class Search { public static void Main() { int[] nums = new int[10]; int val; bool found = false; for(int i = 0; i < 10; i++) nums[i] = i; val = 5; foreach(int x in nums) { if(x == val) { found = true; break; } } if(found) Console.WriteLine("Value fou...

C#编程基础第二课:标识符、关键字、Main、语句【图】

1、标识符 程序中的变量名、常量名、类名、方法名,都叫做标识符。 C#有一套标识符的命名规则,如果命名时不遵守规则,就会出错。①标识符只能由英文字母、数字和下划线组成,不能包含空格和其他字符。 ②变量名不能用数字开头。 ③不能用关键字当变量名。 错误的标识符声明:double 6h;//错在用数字开头 string $user; //错在使用了其他字符 char static;//错在用关键字static做变量名 2、关键字 关键字是用来定义C#语言的字符串...

C#从入门到精通____2.2.5标识符,关键字及C#语句

一、C#标识符 标识符是适用于变量、类、方法和其他各种用户定义对象的一般术语。命名标识符时应当遵守以下规则: ? 标识符不能以数字开头,也不能包含空格,以字母和下划线开头。 ? 标识符可以包含大小写字母、数字、下划线和@字符。 ? 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。 ? @字符只能是标识符的第一个字符。带@前缀的标识符称为逐字标识符。 ? 不能使用C#中的关键字。但是,@字符加关键字可以成为合法...

C# DataTable 生成 SQL INSERT 语句

/// <summary> /// 将Datatable转换为InsertSql /// </summary> /// <param name="dt">数据源</param> /// <param name="table">表名称</param> /// <returns></returns> public static List<string> DataTableToInsertSql(DataTable dt, string table) { List<string> result = new List<string>(); string cols = string.Join(",", dt.Columns.Cast<D...