【问题标题】:C# sort a string arrayC#对字符串数组进行排序
【发布时间】:2012-08-31 01:15:32
【问题描述】:

我需要像下面这样对一个字符串数组进行排序。

<MP:F> SG10.01,"SG1 ANTA H 2300 MHz Mod",#.##," dB",LIM,23.00,34.00
<DATA> GEN_FREQ,2300e6,,MESSAGE,"Action: Connect the external PM power sensor to ANT A via N->7/16 adapter.",,DELAY,1000,,PICTURE,ANTA_PM.JPG
<MP:F> SG10.02,"SG1 to ANTA H 2302.5 MHz Mod",#.##," dB",LIM,23.00,34.00<DATA> GEN_FREQ,2302.5e6
<MP:F> SG10.03,"SG1 to ANTA H 2305.0 MHz Mod",#.##," dB",LIM,23.00,34.00<DATA> GEN_FREQ,2305.0e6
<MP:F> SG10.04,"SG1 to ANTA H 2380 MHz Mod",#.##," dB",LIM,23.00,34.00<DATA> GEN_FREQ,2380e6
<MP:F> SG10.05,"SG1 to ANTA H 2385 MHz Mod",#.##," dB",LIM,23.00,34.00<DATA> GEN_FREQ,2385e6
<MP:F> SG10.06,"SG1 to ANTA H 2390 MHz Mod",#.##," dB",LIM,23.00,34.00<DATA> GEN_FREQ,2390e6
<MP:F> SG10.07,"SG1 to ANTA H 2392.5 MHz Mod",#.##," dB",LIM,23.00,34.00<DATA> GEN_FREQ,2392.5e6

按照频点编号排序,排序完成后重新排列索引号?

我该怎么办?

【问题讨论】:

  • 我想用正则表达式从日期中找出所有的频点并比较频点,然后按照频点排列每一行。
  • 这不是我的问题的答案。你应该展示你迄今为止所做的尝试,以证明你已经为此付出了一些努力。

标签: c# arrays string sorted


【解决方案1】:
  1. 写例程到parse from each record the desired sort creteria(频点),
  2. 创建一个Dictionary,一方面你得到解析的频率点,另一方面得到整个字符串,
  3. Sort the Dictionary 根据 GEN_FREQ 并以新的顺序重新排列所有字符串。

【讨论】:

  • 每个步骤都有一些链接,看看吧。
【解决方案2】:

我建议如下:

  • 将每一行解析成对应的数据结构(结构或对象,随心所欲)
  • 将每个对象插入List&lt;T&gt;
  • 在所需字段上使用 LINQ 对列表进行排序
  • 将有序的值输出到数组中

【讨论】:

    猜你喜欢
    • 2011-08-14
    • 2012-09-13
    • 2013-09-22
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    相关资源
    最近更新 更多