```

    <AppSettings>
      <FileFolder>D:\C#作成物</FileFolder>
      <SKey>User0002</SKey>
      <Users>
        <User Id="User0004">
          <date>2019/10/16</date>
          <Key />
          <Address>D:\C#作成物\顔マーク_フリー素材\img048_22.png</Address>
        </User>
        <User Id="User0002">
          <date>2019/10/16</date>
          <Key />
          <Address>D:\C#作成物\顔マーク_フリー素材\img038_39.png</Address>
        </User>
        <User Id="User0003">
          <date>2019/10/16</date>
          <Key>３</Key>
          <Address />
        </User>
      </Users>
    </AppSettings>
    
```

* * *
```

    public class AppSettings
    {
        public string FileFolder { get; set; };
        public string SKey { get; set; };
        public List<User> Users { get; set; }
        public class User
        {
            [System.Xml.Serialization.XmlAttribute("Id")]
            public string Id { get; set; }
            public string date { get; set; }
            public string Key { get; set; }
            public string Address { get; set; }
        }
    
        [NonSerialized()]
        private static AppSettings _instance;
    
        [System.Xml.Serialization.XmlIgnore]
        public static AppSettings Instance
        {
            get
            {
                if (_instance == null)
                    _instance = new AppSettings();
                return _instance;
            }
            set { _instance = value; }
        }
    }
    
```

* * *

※xml追加などの作業はすべてMainFormで行い、ロード・セーブはインスタンスを行ったAppSettings.csでします

案1（MainForm）addで最後に追加後、ソートする

```

                var query = (from x in AppSettings.Instance.Users
                             orderby x.Id
                             select x);
    
```

問題点：このソートではインスタンスに継承されないので、インスタンスにソートを反映させる方法を知りたいです。

案2（MainForm）インスタンスのId検索後、その手前にId以下date、Key、Addressを挿入したいです

indexを指定して挿入すれば良さそうですが、指定Idのindexを取得するにはどうしたらよいのでしょうか？

申し訳ありませんが、お力をお借りしたくよろしくお願いいたします

追記：  
挿入方法など難しかったので、Idの情報や子ノードを消さずに変更する事で対応することにしました。よって質問自体は不要になってしまったのですが、今後必要になった場合に挿入の方法、ソートの反映に関してアドバイスいただけたら嬉しく思います。  
よろしくお願いいたします
CC BY-SA 4.0
2019-10-21T00:34:18.337
59832
2020-08-12T00:07:25.810
2019-10-21T06:23:26.173
36167
36167
question
c# xml
C# xmlをインスタンスして別Formで挿入または並び替え後の継承をしたいです
この定義注意してください。

```

    public List Users { get; set; }
    public class User
    
```

List Users ですが、Classのリストの定義ではなくて、下記のようにしてくだい。  
`public List<User> Users{get;set;}`

なお、public class User の宣言はpublic class AppSettingsの外に定義してください。

```

    public class AppSettings
    {
    public string FileFolder { get; set; };
    public string SKey { get; set; };
    public List<User> Users { get; set; }
    }
    public class User
    {
    [System.Xml.Serialization.XmlAttribute("Id")]
    public string Id { get; set; }
    public string date { get; set; }
    public string Key { get; set; }
    public string Address { get; set; }
    }
    
```

上記のように直して試しましょう。もしまた問題があれば再連絡してください。
CC BY-SA 4.0
2019-10-21T01:03:03.113
59833
2019-10-21T01:53:42.660
2019-10-21T01:53:42.660
30742
35385
59832
answer