c# 数组

这篇博客介绍了C#中数组的一些关键操作,包括如何将数组转换为字符串,字符串转回数组,如何实例化一个字符串数组,并详细讲述了向数组中添加元素、合并数组以及过滤掉数组中的重复元素的方法。对于从PHP转向C#的开发者来说,这些内容具有实用价值。
摘要由CSDN通过智能技术生成

c#数组

数组函数

因公司需要,从PHP转到c#,记录下工作中用到的东西

数组转为字符串
string str = string.Join(",", ArrayList);

字符串转为数组
string str = “1,2,3,4,5,6,7”;
string[] strArray = str.Split(’,’); //字符串转数组

实例化一个字符串数组
var listInsert = new List();

向数组中添加元素

// 添加默认数据列
retMate.Table.Columns.Add("totalBillAmount");
retMate.Table.Columns.Add("totalReturnOrder");
retMate.Table.Columns.Add("arrivalRate");
// 保存
retMate.Table.AcceptChanges();

// 填充默认值
foreach (DataRow item in retMate.Table.Rows)
{
	// 已结账总金额
    item["totalBillAmount"] = 0;
    // 已退货总单数
    item["totalReturnOrder"] = 0;
    // 到货率
    item["arrivalRate"] = 0;
}

合并数组


// 合并两个查询结果
var notExistsSettle = retSettle.Table.AsEnumerable().Where(x => retMate.Table.AsEnumerable().Any(y =>
             y["hospitalId"].ToString() != x["hospitalId"].ToString() || y["his"].ToString() != x["his"].ToString()
            )).Select(row => row);


// 合并两个数组
var finalRet = retMate.Table.AsEnumerable().Concat(notExistsSettle).Concat(notExistsDept);


// findIndex的应用
var notExistsDept = new List<object>();

foreach (DataRow item in finalRet1)
{
    // 查找主表中不存在的元素  如果存在返回下标  不存在返回-1
    var index = retDepartment.Table.AsEnumerable().ToList().FindIndex(
        rows => rows["hospitalId"].ToString() != item["hospitalId"].ToString() && rows["his"].ToString() != item["his"].ToString());

    if(index > -1)
    {
        notExistsDept.Add(item);
    }
}

过滤数组中重复元素

foreach (string item in finalRet.Select(x=>x["his"].ToString()).Distinct())
{
    // 添加语句
    string insert = $@"
                    insert into table(
                        id,
                        hospital_id,
                        start,
                        end,
                        hin_facility_ident,
                        total_count,
                        create_date
                        )
                    values(
                            uuid(),
                            '{finalRet.Where(x=>x["his"].ToString()== item).FirstOrDefault()}',
                            '{reportEntity.SticStartDate.ToString("yyyy-MM-dd")}',
                            '{reportEntity.SticEndDate.ToString("yyyy-MM-dd")}',
                            '{item}',
                            '{finalRet.Where(x=> x["his"].ToString() == item).Sum(x => Convert.ToInt32(x["totalCount"]))}',
                            now()
                            )";
    listInsert.Add(insert);
}```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值