.net csv 文件的读取 代码
public static string[][] read_csv(string text)
{
if (text == null)
return null;
var text_array = new list();
var line = new list();
var field = new stringbuilder();
//是否在双引号内
bool in_quata = false;
//字段是否开始
bool field_start = true;
for (int i = 0; i < text.length; i++)
{
char ch = text[i];
if (in_quata)
{
//如果已经处于双引号范围内
if (ch == '"')
{
//如果是两个引号,则当成一个普通的引号处理
if (i < text.length - 1 && text[i + 1] == '"')
{
field.append('"');
i++;
}
else
//否则退出引号范围
in_quata = false;
}
else //双引号范围内的任何字符(除了双引号)都当成普通字符
{
field.append(ch);
}
}
else
{
switch (ch)
{
case ',': //新的字段开始
line.add(field.tostring());
field.remove(0, field.length);
field_start = true;
break;
case '"'://引号的处理
if (field_start)
in_quata = true;
else
field.append(ch);
break;
case 'r': //新的记录行开始
if (field.length > 0 || field_start)
{
line.add(field.tostring());
field.remove(0, field.length);
}
text_array.add(line.toarray());
line.clear();
field_start = true;
//在 window 环境下,rn通常是成对出现,所以要跳过
if (i < text.length - 1 && text[i + 1] == 'n')
i++;
break;
default:
field_start = false;
field.append(ch);
break;
}
}
}
//文件结束
if (field.length > 0 || field_start)
line.add(field.tostring());
if (line.count > 0)
text_array.add(line.toarray());
return text_array.toarray();
}
萤火突击德尔金4级头盔怎么获得 萤火突击德尔金4级头盔防具一览
最新数字货币交易APP排行TOP10-前10权威交易平台排行推荐币安交易所下载
魔兽世界wlk2024美酒节任务怎么接取 魔兽世界wlk2024美酒节任务接取位置攻略
cf2024年10月藏宝阁活动在哪参加 cf2024年10月藏宝阁活动入口地址一览
最热门的现货交易平台有哪些-前10热门交易平台排行推荐币安app下载
魔兽世界国服坐骑打折促销活动什么时候开始 魔兽世界国服坐骑打折促销活动介绍
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔