小编Ale*_*ksP的帖子

如何检查Datarow值是否为null

请告诉我,如果需要返回a,这是在DataRow中检查NULL的正确方法 string

 Convert.ToString(row["Int64_id"] ?? "")
Run Code Online (Sandbox Code Playgroud)

或者应该像检查DBNull.Value一样.

需要比这更小

if(row["Int64_id"] != DBNull.Value){...}else if{}
Run Code Online (Sandbox Code Playgroud)

c# datatable null datarow

22
推荐指数
2
解决办法
5万
查看次数

如何命名元组属性?

如何和"可能"组织从返回元组类型的方法返回与参数的名称,作为一个exapmle

private static Tuple<string, string> methodTuple()
{
    return new {Name = "Nick", Age = "Twenty"}; /*exception because need to new Tuple<string, string>(){Item1 = "Nick", Item2 = "Twenty"}o*/
}
Run Code Online (Sandbox Code Playgroud)

和调用参数 methodTuple.Name不喜欢methodTuple.Item1....N

这可能吗?

UPD:我想用没有新命名类型的命名参数创建对象.

c# tuples

11
推荐指数
4
解决办法
2万
查看次数

Linq lambda foreach

尝试将每个字符串包装在数组中,但它不起作用,意味着foreach循环,请解释原因

string s = "keepsakes,table runners,outdoor accessories";
List<string> keys = s.Split(',').ToList();
keys.ForEach(x => x = String.Concat("%", x, "%"));
s = String.Join(",", keys);
Console.WriteLine(s); 
Run Code Online (Sandbox Code Playgroud)

需要得到 "%keepsakes%,%table runners%,%outdoor accessories%"

UPD:非常 感谢您的建议(这是一样的)

有些人可以回答为什么这是有效的,而不是在以下工作:

宾语

    public class MyItems
    {
        public string Item { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

和功能

        string s = "keepsakes,table runners,outdoor accessories";
        List<MyItems> keys = s.Split(',').ToList().Select(x => new MyItems(){ Item = x }).ToList();
        keys.ForEach(x => x.Item = String.Concat("%", x.Item, "%"));
        s = String.Join(",", keys.Select(x => x.Item).ToList());
        Console.WriteLine(s);
Run Code Online (Sandbox Code Playgroud)

c# linq lambda

4
推荐指数
1
解决办法
1229
查看次数

添加到字符串字段中

告诉我这个代码C#有什么问题.

        string str = string.Empty;
        for (var i = 1; i <= 1000; i++)
            str += i.ToString();
Run Code Online (Sandbox Code Playgroud)

这是面试问题.

c# string format stringbuilder tostring

2
推荐指数
1
解决办法
94
查看次数

SQL Server:select语句,其中value具有格式

我正在尝试找到具有类似格式的特殊字符串,##-%从两个字符和' - '开始

select * 
from temp 
where name like '##-%'
Run Code Online (Sandbox Code Playgroud)

给我一些建议,或者我如何得到这个?

如何在空字符串""上替换此格式

t-sql sql-server

2
推荐指数
1
解决办法
83
查看次数

如何覆盖Url.Action

现在我用来覆盖扩展名,如:

public abstract class MyWebViewPage<T> : WebViewPage<T>
{
    public new MyHtmlHelper<T> Html { get; set; }
    public override void InitHelpers()
    {
        Ajax = new AjaxHelper<T>(ViewContext, this);
        Url = new UrlHelper(ViewContext.RequestContext);
        Html = new MyHtmlHelper<T>(ViewContext, this);
    }
}

public class MyHtmlHelper<T> : HtmlHelper<T>
{
    public MyHtmlHelper(ViewContext viewContext, IViewDataContainer viewDataContainer) :
        base(viewContext, viewDataContainer)
    {
    }

    public MvcHtmlString ActionLink(string linkText, string actionName)
    {
        return ActionLink(linkText, actionName, null, new RouteValueDictionary(), new RouteValueDictionary());
    } 
}
Run Code Online (Sandbox Code Playgroud)

如何在Url.Action这里添加所有重载版本的帮助?

UPD:我应该覆盖所有标准方法,因为许多人都在这方面工作,我应该使用标准助手,但我的功能

c# asp.net-mvc extension-methods asp.net-mvc-3

2
推荐指数
1
解决办法
2522
查看次数

带条件的 linq orderby

如何对有条件的列表进行排序

举个例子:

我有一个 INT 列表

{1,45,63,1,2,100,46,12,2,100} 在代码中:

int[] ints = {1,45,63,1,2,100,46,12,2,100};
Run Code Online (Sandbox Code Playgroud)

我想以两种方式排序 ASC 和 DESC 意思是:

            switch (this.SortMode)
            {
                case ReportSortMode.DESC:
                    Rank = Rank.OrderByDescending();
                    break;
                case ReportSortMode.ASC:
                    Rank = Rank.OrderBy();
                    break;
            }
Run Code Online (Sandbox Code Playgroud)

但我需要获取条件值:

升序:{1,1,2,2,12,45,46,63,100,100}

降序:{63,46,45,12,2,2,1,1,100,100}

方法: Where(x =>x < 100)

可能使用Except类似:

var fakeval = rank.where(x => x<100)
switch (this.SortMode)
{
    case ReportSortMode.DESC:
         Rank = Rank.OrderByDescending().Except(fakeval);
    break;
    case ReportSortMode.ASC:
         Rank = Rank.OrderBy();
    break;
}

//to be full))
public enum ReportSortMode
{
    DESC = 1,
    ASC = 2,
}
Run Code Online (Sandbox Code Playgroud)

但这没用

c# linq sorting

2
推荐指数
1
解决办法
2124
查看次数

C#括号返回null

请告诉我,两者之间有什么不同

return null;
Run Code Online (Sandbox Code Playgroud)

return (null);
Run Code Online (Sandbox Code Playgroud)

有时我会看到每个例子

c# null

1
推荐指数
2
解决办法
200
查看次数

如何抛出异常并继续循环(或如何从一个循环中抛出许多异常)

我有两个方法,对我来说需要从一个到另一个生成异常,就像这样

public void Method1()
{ 
    try
    {  
        Method2(1);
    }
    catch(Exception e )
    {
        SendEmail (/* some message */)
    }
}

public IEnumerable<int> Method2(int id)
{
    foreach (var i in col)
    {
        try
        { 
            /*Do some stuff*/ 
            yield return i 
        }
       catch
       {
           /* delegate this exception to Method1 and continue foreach loop */
       }            
    }
 }
Run Code Online (Sandbox Code Playgroud)

如何将方法2中的异常委托给方法1并继续方法2中的foreach循环

UPD:

那怎么样?

例如:方法1 - >方法3 - >方法2 - >方法2在方法1中返回异常

UPD2:到UPD

   /*Call*/
        var i = new List<int>() {0, 0, 0, 0, 0, 0, 7, …
Run Code Online (Sandbox Code Playgroud)

c# exception-handling exception

1
推荐指数
1
解决办法
156
查看次数