namespace Test
{
public class Program
{
static void Main(string[] args)
{
var data = TestData.List;
Func<List<int>, int, List<int>> add =
(x, id) =>
{
x.Insert(0, id);
return x;
};
Func<List<TestInfo>, int?, List<int>> sort = null;
sort = (x, id) =>
{
List<int> r = new List<int>();
var q = from i in x where i.ParentId == id orderby i.OrderId select add(sort(x, i.Id), i.Id);
foreach (var item in q)
{
r.AddRange(item);
}
return r;
};
var result = sort(data, null);
foreach (var item in result)
{
Console.Write(item + " ");
}
/*2 3 5 8 4 9 1 7 6 10*/
}
}
public static class TestData
{
public static List<TestInfo> List = new List<TestInfo>()
{
new TestInfo() { Id = 1, ParentId = null, OrderId = 2 },
new TestInfo() { Id = 2, ParentId = null, OrderId = 1 },
new TestInfo() { Id = 3, ParentId = 2, OrderId = 1 },
new TestInfo() { Id = 4, ParentId = 2, OrderId = 3 },
new TestInfo() { Id = 5, ParentId = 2, OrderId = 2 },
new TestInfo() { Id = 6, ParentId = 1, OrderId = 2 },
new TestInfo() { Id = 7, ParentId = 1, OrderId = 1 },
new TestInfo() { Id = 8, ParentId = 5, OrderId = 1 },
new TestInfo() { Id = 9, ParentId = 2, OrderId = 4 },
new TestInfo() { Id = 10, ParentId = null, OrderId = 3 }
};
}
public class TestInfo
{
public int Id { get; set; }
public int? ParentId { get; set; }
public int OrderId { get; set; }
}
}
追é®å¯ä»¥è¿è¡ï¼ä½å¤§ç¥ççæ¡æ²¡æè¾¾å°é¢ç®è¦æ±ï¼ææ³æè¾å
¥çå符串ä¿åå°ä¸ä¸ªæ°ç»éï¼ç¶åç¨å泡æåºææASCII大å°æåºï¼è°ç¨å
¶sortæ¹æ³ï¼å¨ä¸ä¸ªä¸ªè½¬æcharåï¼è¾åºãä½æåçä¸ç´æé®é¢ï¼æ以æ±å¤§ç¥è½å¦éåä¸æ¬¡ï¼è°¢.
追çstring zxc=ä½ è¾å
¥çå符串
char[] charList=zxc.ToArry()
好象æ¯..ææç ç.ä½ èªå·±æ¾æ¾ç
C#æå°è£
ä¸ä¸ªæ¹æ³ç´æ¥æå符串转æ¢æCHAR
ç¶åå¨æCHAR转æ¢ææ°å.æç
§æä¸é¢çæåº
ç¶åè¾åº