求助,一个题目进来看看 具体题目记不清了,类似于“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 提示insert into错误 并非所以代码路径都返回值的问题。。 关于winform datagridview 数据绑定 显示重复的问题 在线等 大家都来谈谈自己的编程经验吧! c#中奇怪的SQL语句调用 请教!如何用C#在ACCESS中查找给定的字符串 关于动态控件数组的卸载 C# 移动设备 自动或手动连接GPS和GPRS 方法(最好有代码) 怎样重写Log4net中的Appender了? 有一个DataSet但是我想把其中的几列删除掉获得另外一个DataSet,怎么做? 要实现这个功能大家给个建议 横向打印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