首页 > 解决方案 > 将一个数字拆分为一个字符串数组

问题描述

有一个候选人名单。

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);
        }
    }

我收到以下错误:

'string[]' 不包含'Contains' 的定义,并且最佳扩展方法重载'Queryable.Contains(IQueryable, char)' 需要'IQueryable' 类型的接收器

如果代码从:var searchItems = searchTerm.ToCharArray().ToString();

至 :var searchItems = searchTerm.split();

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

标签: c#

解决方案


我猜你想把数字分成一个string[].

var searchItems = searchTerm.ToCharArray().ToString();

这将始终创建一个字符串"System.Char[]",因此不是您想要的。

我猜你想要:

string[] searchItems = searchTerm.Select(c => c.ToString()).ToArray();

这应该修复编译器错误,因为searchItems.All现在将投影字符串而不是字符。


推荐阅读