DOBON.NETプログラミング道掲示板

No34027 の記事


■34027 / )  Re[2]: 文字列構造体のListのソート
□投稿者/ あおぞら 一般人(2回)-(2018/11/13(Tue) 15:21:34)
  • アイコンNo34026に返信(魔界の仮面弁士さんの記事)
    > ■No34025に返信(あおぞらさんの記事)
    >>文字列構造体のListのソートがしたいのですが、うまくいきません。
    > 文字列ソートですので、並び順は
    >  "2", "12", "123", "234"
    > ではなく、
    >  "12", "123", "2", "234"
    > になりますが、そこは大丈夫でしょうか。
    >
    >
    >>oderには1〜9と無視するデータを表す0が格納されており、
    > oder は int や char ではなく string なのですよね。
    >
    > ということは 0,1〜9 ではなく、"0","1"〜"9" の間違いであろうかと思いますが、
    > それ以外の値たとえば "" や null や "0xA" などは入らないという前提でよろしいでしょうか。
    >
    > 20 レコードのうち、orer 値が同じ値だった場合の並び順は何に従うのでしょうか。
    > List<> の格納順を維持するべきなのか、それともフィールドの内容で判断するのか、
    > 質問内容からははっきりしません。
    >
    > また、order が "0" だった場合、「そのデータは存在しないものとして、ソート結果から取り除く」のでしょうか。
    > それとも "0" なデータは「どうせ無視されるので、ソート結果の何番目にあっても気にしない」のでしょうか。
    >
    >
    >
    >>どうしたらoder順にデータを取り得だせるでしょうか。
    > orderby で。

    文字列で格納してありますが、数値として、(〇1>2>3・・・×1>12>2)ソートしたいのでInt.Parseを使っています。

    oder順で並べるときは20レコードのうち9レコードしか使わないので、oderが0の場合は検索結果に含めない、もしくは並べ替えができたらFor文で頭9回回すということを考えて後ろにつける、のどちらかがいいと考えています。

    orderby int.Parse(num.oder) を追加したのですが、Message = "入力文字列の形式が正しくありません。"とデバッガで怒られます。

違反を報告
返信 削除キー/


Mode/  Pass/


- Child Tree -