将数字拆分为字符串数组

时间:2018-05-17 13:42:43

标签: c#

有一份候选人名单。

candid: {12,14,16,19,25,64,78}

代码:

    for (int i = 0; i < candid.Count; i++)
    {
        var searchTerm = candid[i].ToString();
        var searchItems = searchTerm.ToCharArray().ToString();
        foreach (Tran b in transactions)
        {
            string[] temp = new string[b.itemsUtilities.Count];
            int j = 0;
            foreach (ItemUtility c in b.itemsUtilities)
            {
                temp[j] = c.item.ToString();
                j = j + 1;
            }
            if (searchItems.All(a => temp.Contains(a)))
                arraye[i] = arraye[i] + (b.transactionUtility);
        }
    }

我收到以下错误:

  

&#39;串[]&#39;不包含&#39;包含&#39;的定义最好的   扩展方法重载&#39; Queryable.Contains(IQueryable,   炭)&#39;需要一个类型为“IQueryable&#39;

的接收器

如果代码更改为:var searchItems = searchTerm.ToCharArray().ToString();

收件人:var searchItems = searchTerm.split();

此错误已修复,但此split命令不会分隔数字。

2 个答案:

答案 0 :(得分:3)

我想你想把数字分成<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"/> <div class="container"> <div class="card-deck"> <div class="card"> <div class="card-heading"> <img class="img-thumbnail" src="http://placehold.it/30x30" alt="IMG ALT TEXT"> <h4 class="card-title">Header</h4></div> <div class="card-block"> <p class="card-text">More Text Here</p> </div> </div> </div>

string[]

这将始终创建一个字符串var searchItems = searchTerm.ToCharArray().ToString(); ,因此不是您想要的。

我想你想要:

"System.Char[]"

这应该可以修复编译器错误,因为string[] searchItems = searchTerm.Select(c => c.ToString()).ToArray(); 现在将投射字符串而不是字符。

答案 1 :(得分:0)

更多的是一个简单的缺失包括,我认为你在思考

您的代码似乎简化为:

for (int i = 0; i < candid.Count; i++)
{
    var searchTerm = candid[i].ToString();

    foreach (Tran b in transactions)
    {       
        var tmp = b.itemsUtilities.Select(x=> x.item.ToString()).ToList(); 

        if( searchTerm.All(a=> tmp.Contains (a)){
            arraye[i] = arraye[i] + (b.transactionUtility);
        }
    }
}

您可以再次简化,而不是根据if条件过滤每个过滤Trasanction。 如果你的坦率是11,则无需为1检查两次,这样一个简单的Distinct()将有助于此。