加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将字符串数组中的元素向左移动以填充“空洞”

发布时间:2020-12-16 01:32:08 所属栏目:百科 来源:网络整理
导读:我有一个名单和电话号码列表如下: var phonelist = Liststring[] { new string[] {"Bill","1234","12345","12314" },new string[] {"Bob","",new string[] {"Chris",new string[] {"Dave",new string[] {"Andy","" },} 处理此列表的最有效/优雅的方法是什么
我有一个名单和电话号码列表如下:

var phonelist = List<string[]> 
{
     new string[] {"Bill","1234","12345","12314" },new string[] {"Bob","",new string[] {"Chris",new string[] {"Dave",new string[] {"Andy","" },}

处理此列表的最有效/优雅的方法是什么,以便从右边填充“空”数字?

注意,数组应保持相同的长度,如下所示:

var phonelist = List<string[]> 
{
     new string[] {"Bill","12314",}

解决方法

对于每个阵列单元格,检查它是否为空并将其与单元格1交换,如果它仍为空则将其与单元格2交换..当单元格变为空时,对单元格2执行相同的操作…

int j;

    foreach (string[] strs in phoneList)
    {
        for (int i = 0; i < strs.Length; i++)
        {
            j = 1;
            while (string.IsNullOrEmpty(strs[i]) && j < strs.Length - i)
            {
                if (!string.IsNullOrEmpty(strs[i + j])) // to not swap 2 empty strings
                {
                    strs[i] = strs[i + j];
                    strs[i + j] = "";
                }
                j++;
            }
        }
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读