求助,一个题目进来看看 具体题目记不清了,类似于“010|北京,020|重庆,011|海淀,021|渝中”(请不要较真说021不是渝中。就这么个意思,)要求输出: 010|北京--011|海淀020|重庆--021|渝中请问有什么好办法?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //010|北京,020|重庆,011|海淀,021|渝中 string str1 = "010|北京,020|重庆,011|海淀,021|渝中"; string[] str2 =str1.Split(new Char[] {',' }); foreach (string s in str2) { if (s.Trim() != "") Console.WriteLine(s); Console.WriteLine(s.Substring(0, 3)); } Console.ReadLine();如何对前三个字符进行排序?转换int?那就如何完整输出?谢谢。 如果code格式是定死的话,即nn0总是一个根节点,nnn总是一个子节点(n代表1-9)首先可以用字符串判断:HashTable rootMasks = new HashTable();foreach(string code ... if (code.EndsWith("0")) { 这是根节点 rootMasks.Add(code.SubString(0, 2), 根节点对象); } else { 这是子节点 根节点对象 = rootMasks[code.SubString(0, 2)]; 根节点对象.Children.Add(子节点对象); }}或者把code转换成int型:if((intCode % 10) == 0) 这是根节点else { 根节点Code = (intCode / 10) * 10; 根据Code找到根节点}以上代码完全没有也不可能在编译器验证通过,请领会精神 static void Main(string[] args){ string test = "010|北京,020|重庆,011|海淀,021|渝中"; string[] fields = test.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); var groups = fields.ToList().OrderBy(s => s.Substring(0, s.IndexOf('|'))).GroupBy(s => s.Substring(0,2)); List<string> list = new List<string>(); foreach (var g in groups) { list.Add(g.First()); list.AddRange(g.Skip(1).ToList().Select(s => "--" + s)); } foreach (string s in list) { Console.WriteLine(s); } Console.ReadKey();} 请问ToList()方法,需要引入哪个名称空间??谢谢 using System.Linq;vs2008,.net 3.0以上版本添加system.core.dll 菜鸟求个将TEXTBOX多行内容导入LISTBOX代码,TEXTBOX每行(分行/回车)的内容占一个listbox项.多谢!! 求一SQL语句 C#语言还原SQLSERVER2005数据库问题 多线程的问题 我想用C#编程实现对excel的操作,如何实现? 在.net中操作word时提示:服务器出现异常情况! 关于DataGrid的问题!困扰了我2个星期了!! 如何获得一个文件的文件类型? 如何在C#中用RecordSet(ADO2.7)的Open方法! 一个ado.net问题 要实现这个功能大家给个建议 横向打印datagridview中数据
string str1 = "010|北京,020|重庆,011|海淀,021|渝中";
string[] str2 =str1.Split(new Char[] {',' });
foreach (string s in str2)
{
if (s.Trim() != "")
Console.WriteLine(s);
Console.WriteLine(s.Substring(0, 3));
}
Console.ReadLine();如何对前三个字符进行排序?转换int?那就如何完整输出?谢谢。
HashTable rootMasks = new HashTable();
foreach(string code ...
if (code.EndsWith("0")) {
这是根节点
rootMasks.Add(code.SubString(0, 2), 根节点对象);
}
else {
这是子节点
根节点对象 = rootMasks[code.SubString(0, 2)];
根节点对象.Children.Add(子节点对象);
}
}或者把code转换成int型:
if((intCode % 10) == 0)
这是根节点
else {
根节点Code = (intCode / 10) * 10;
根据Code找到根节点
}以上代码完全没有也不可能在编译器验证通过,请领会精神
static void Main(string[] args)
{
string test = "010|北京,020|重庆,011|海淀,021|渝中";
string[] fields = test.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
var groups = fields.ToList().OrderBy(s => s.Substring(0, s.IndexOf('|'))).GroupBy(s => s.Substring(0,2));
List<string> list = new List<string>();
foreach (var g in groups)
{
list.Add(g.First());
list.AddRange(g.Skip(1).ToList().Select(s => "--" + s));
}
foreach (string s in list)
{
Console.WriteLine(s);
}
Console.ReadKey();
}
vs2008,.net 3.0以上版本
添加system.core.dll