456 浏览
喜欢(0)

[C#].NET/C#程序开发中如何更优美地实现失败任务重试的逻辑?

问题描述在.NET/C#的程序开发中,有时候需要对一些失败的任务进行多次的重试,如果重试的次数达到我们设定的阀值,则再放弃任务,比如有以下的C#伪代码:int retries = 3;while(true) { try { DoSomething(); break; // success! } catch { if(--retries == 0) throw; else Thread.Sleep(1000);...

.NET 2018-02-25 23:02 0评论 0收藏
106 浏览
喜欢(0)

[C#].NET/C#程序开发中创建XML文档的方式有哪些呢?

问题描述如题,在.NET/C#程序开发中,我们很多时候需要接触到XML文档,有可能是从第三方接口获取到的数据是XML格式的,也有可能是自己需要提供XML文档给第三方使用,那么,我们如何创建XML文档,有哪些XML的创建方式呢?方案一在.NET 3.5或者以上版本中,我们可以使用XDocument来处理,如:Console.WriteLine( new XElement("Foo", new XAt...

.NET 2018-02-09 15:53 0评论 0收藏
695 浏览
喜欢(0)

[C#].NET/C#程序开发中获取一个实体类中的所有属性集合的方法有哪些呢?

问题描述如题,在.NET/C#程序开发中,获取一个实体类中的所有属性集合的方法有哪些呢?方案一使用反射,如果是一个实例对象,则使用GetType()方法的GetProperties():obj.GetType().GetProperties();如果是一个System.Type,则:typeof(Foo).GetProperties();例如:class Foo { public int A {get;set;} publi...

.NET 2018-02-09 14:33 0评论 0收藏
AD 友情赞助
426 浏览
喜欢(0)

[C#].NET/C#程序开发中获取Lambda表达式中属性名称的方法有哪些呢?

问题描述在.NET/C#程序开发中,有哪些方法从lambda表达式中获取属性的名称,比如有如下的方法,其中的参数是一个lambda表达式树:GetSortingInfo<User>(u => u.UserId);方案一public static string GetName(Expression<Func<object>> exp){ MemberExpression body = exp...

.NET 2018-02-09 14:21 0评论 0收藏
419 浏览
喜欢(0)

[C#].NET/C#程序开发中使用反射如果检测一个类型是否实现了一个接口?

问题描述在.NET/C#的程序开发中,反射中是否提供了一些用以检测指定的类型System.Type是否实现了某个接口的方法呢?比如有如下的接口和实现:public interface IMyInterface {}public class MyType : IMyInterface {}方案一你可以使用IsAssignableFrom来实现,如:typeof(IMyInterface).IsAssignableFrom(typeof(M...

.NET 2018-02-09 14:02 0评论 0收藏
478 浏览
喜欢(0)

[.NET/C#].NET/C#程序开发中判断一个文件夹是否存在,不存在则创建的方法如何实现?

问题描述在.NET/C#的程序开发中,有一个上传文件的需要。在上传文件后,要将文件保存在指定的文件夹中,现在需要在保存文件之前先检查这个指定的文件夹是否存在,如果不存在,则创建一个文件夹,再保存文件。如果文件夹存在,则直接将上传的文件保存到此文件夹中。这个过程中的判断并创建文件夹的方法应该如何实现呢?方案一可以使用System.IO.Directory命名空间下的CreateDirectory()方法:string subPath =&...

.NET 2018-02-09 12:01 0评论 0收藏
AD 友情赞助
596 浏览
喜欢(0)

[.NET/C#].NET/C#程序开发中克隆/拷贝一个泛型集合List的方法有哪些?

问题描述在.NET/C#的程序开发中,当前有一个泛型的集合对象List<T>。当前希望克隆/拷贝这个泛型集合对象List<T>。泛型集合中的元素对象T是可以克隆的(clonable),但是集合对象List<T>没有直接可以克隆的方法list.Clone()。在.NET/C#程序开发中,有哪些方式可以实现以上泛型集合对象List<T>的克隆/拷贝操作呢? 方案一可以创建一个静态扩展方法,如:...

.NET 2018-02-09 11:00 0评论 0收藏
369 浏览
喜欢(0)

[.NET/C#].NET/C#程序开发中如何将一个字符串按照指定的子字符串进行分割?

问题描述我们知道,在.NET/C#的程序开发中,可以使用Split()方法,将一个字符串按照指定的字符进行分割,但如果需要分割的是一个子字符串,又应该如何操作呢?比如有如下的字符串:var input = "THExxQUICKxxBROWNxxFOX";现在需要按子字符串xx,将这个变量input中的字符串进行分割,如何实现,有哪些方式呢?方案一使用Split(...)方法的重载,可以传入分割的子字符串,如:str...

.NET 2018-02-09 11:26 0评论 0收藏
239 浏览
喜欢(0)

[.NET/C#].NET/C#程序开发中使用程序重命名一个文件的方法有哪些呢?

问题描述如题,在.NET/C#程序开发中,如何使用程序重命名一个文件呢?方案一可以使用System.IO.File命名空间,其中的Move()方法将一个文件重命名为新的文件名称,如:System.IO.File.Move("oldfilename", "newfilename");但是请注意:Move()方法不会覆盖文件,如果相同的文件名已存在而是抛出异常。所以,为了程序的健壮,可以在使用Move...

.NET 2018-02-09 11:16 0评论 0收藏
AD 友情赞助
391 浏览
喜欢(0)

[.NET/C#].NET/C#程序开发中如何删除字符串中非字母/数字/横线的其他字符?方法有哪些呢?

问题描述如题,在.NET/C#程序开发中,如何删除字符串中非字母/数字/横线的其他字符?具体的实现方法有哪些呢?方案一使用正则表达式Regex类的Replace("","")方法,如:Regex rgx = new Regex("[^a-zA-Z0-9 -]");str = rgx.Replace(str, "");方案二不使用正则表达式,因为正则表达式的可...

.NET 2018-02-09 11:04 0评论 0收藏
367 浏览
喜欢(0)

[C#].NET/C#程序开发中复制一个数据流(Stream)的内容到另一个数据流的方法有哪些?

问题描述如题,在.NET/C#程序开发中,复制一个数据流的内容到另一个数据流的方法有哪些?有没有一个标准的工具类库来完成这样的操作呢?方案一在.NET 3.5 或者以前的版本中,.NET Framework没有内置直接复制数据流的方法,所以我们需要手动来完成数据流的复制操作,如:public static void CopyStream(Stream input, Stream output){ byte[] buffer = n...

.NET 2018-02-09 10:44 0评论 0收藏
456 浏览
喜欢(0)

[Dapper].NET/C#使用Dapper如何实现查询的分页功能?

问题描述比如当前有一个查询文章列表并且分页的需求,使用的是Dapper这个轻量级的.NET ORM组件。那么如何实现基于Dapper的查询并分页呢?方案一首先,Dapper组件中并未内置分页的功能,但是使用Dapper实现分页也并不难,比如我们可以使用Dapper的查询功能执行分页查询语句,然后返回一个IEnumerable<T>的查询结果集合,如:SELECT *FROM ( SELECT ROW_NUMBE...

.NET 2018-02-07 13:09 0评论 0收藏
474 浏览
喜欢(0)

[Linq].NET/C#程序开发中使用Linq在不创建新对象的情况下如何修改集合元素中的某个指定属性的值?

问题描述如题,在.NET/C#程序开发中,使用Linq在不创建新对象的情况下如何修改集合元素中的某个指定属性的值?比如当前有如下的Linq查询表达式:var list = from something in someList select x // 这里需要修改某个属性的值如何在不创建新的实体对象的情况修改集合someList中每一项的某个元素的值呢?方案一创建一个Linq查询来连接查询,如:from item in...

.NET 2018-02-05 21:38 0评论 0收藏
747 浏览
喜欢(1)

[Dapper].NET/C#程序开发中使用Dapper批量插入数据集合的方法应该如何实现?

问题描述使用Dapper如何向数据库中批量插入数据或者说使用Dapper如何插入一个集合(List<T>),在没有使用Dapper(使用Ado.net)的情况下,我们通常的实现方式如下:try { connection.Open(); for (int i = 0; i < processList.Count; i++) { ...

.NET 2018-02-03 17:44 0评论 0收藏
517 浏览
喜欢(1)

[Dapper].NET/C#程序开发中使用Dapper如何将查询的结果集映射到一个字典中?

问题描述比如当前有如下的SQL查询语句:string sql = "SELECT UniqueString, ID FROM Table";以上SQL语句查询出来的结果包含两个字段,现在想把这两个字段分别映射到一个字典中,其中的字典键为UniqueString对应的值,比如这样的:Dictionary<string, int> myDictionary = new Dictionary<strin...

.NET 2018-02-03 17:26 0评论 0收藏
278 浏览
喜欢(0)

[.NET/C#]C#程序开发中如何将字符串编码成base64或者从base64编码中解码?

问题描述如题,在C#程序开发中如何将字符串编码成base64或者从base64编码中解码?方案一从字符串转换到base64的编码:public static string Base64Encode(string plainText) { var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText); return System.Convert.ToBase64S...

.NET 2018-01-29 17:00 0评论 0收藏
134 浏览
喜欢(0)

[LINQ].NET/C#程序开发中如何使用LINQ进行多字段(属性)排序?

问题描述比如当前有如下的实体类:public class FooBar{ public virtual int Id { get; set; } public virtual string Foo{ get; set; } public virtual string Bar{ get; set; }}通过LINQ的查询表达式是可以实现多字段排序,如://查询数据列表集合var foobarList = GetFooBa...

.NET 2018-01-29 21:03 0评论 0收藏
118 浏览
喜欢(0)

[LINQ].NET/C#程序开发中如何使用LINQ查询前几条数据记录

问题描述比如当前有如下的LINQ查询语句:var list = from t in ctn.Items where t.DeliverySelection == true && t.Delivery.SentForDelivery == null orderby t.Delivery.SubmissionDate select t;怎样写查询前几条数据的LINQ...

.NET 2018-01-29 21:28 0评论 0收藏
200 浏览
喜欢(1)

[.NET/C#]C#程序开发中判断一个字符串是否是数字的方法有哪些呢?

问题描述如题,在C#程序开发中,判断一个字符串是否是数字的方法有哪些呢?比如,如下的字符串:"abc" = false"123" = true"ab2" = false方案一使用int.TryParse()方法int n;bool isNumeric = int.TryParse("123", out n);如果在 .NET 7.0中,还可以使用如下的实现:...

.NET 2018-01-29 17:42 0评论 0收藏
445 浏览
喜欢(0)

[RestSharp].NET/C#程序开发中使用RestSharp模拟发送JSON数据的方法如何实现呢?

问题描述比如当前需要使用RestSharp模拟发送如下的JSON数据:{"UserName":"UAT1206252627","SecurityQuestion":{ "Id":"Q03", "Answer":"Business", "Hint":"T...

.NET 2018-01-30 14:28 0评论 0收藏
AD 友情赞助