2017-06-28 6 views
-1

リストから削除したいアイテムの名前を渡したいと思っています。私が伝わってくる変数をデバッグするとき しかし、それは私を与える:JSONから取得したリストからアイテムを削除したい

Car Name: Happy Car 

私は余分な文字を除去するために行うには何が必要ですか? `CharToTrim 'を使う必要がありますか?事前に助けを おかげで...

if(File.Exists(Application.persistentDataPath + "/JSON/dbindex.json")) 
{ 
    //Load in JSON file 
    string dbindex = File.ReadAllText (Application.persistentDataPath + "/JSON/dbindex.json"); 
    //Load file in as an array 
    DatabaseIndex[] _tempLoadIndexList = JsonHelper.FromJson<DatabaseIndex> (dbindex); 
    //Convert to List 
    DBIndexList = _tempLoadIndexList.OfType<DatabaseIndex>().ToList(); 
    for (int i = 0; i < DBIndexList.Count; i++) 
    { 
     if (DBIndexList[i].DatabaseName == dbname) 
      { 
       DBIndexList.Remove(DBIndexList[i]); 
      } 

    } 

私はそれが動作するテキスト「ハッピーカー」とのforループのdbnameを交換する場合。変数をそこで使用すると、変数が使用されません。

+5

一緒にあなたの質問や、あなたのコードはあまり意味を作っていません。 – maccettura

+2

あなたの質問とコードとの関係を理解することにも問題があります。彼らはすべての関連性を見ていない。 – Amy

+1

JSONが正しく解析されていないと言っていますか?だから、基本的にあなたはあなたのJSONに 'Car Name: 'Happy Car'を持っています。 編集:dbindex.jsonの内容を共有してください – Arman

答えて

2
if (DBIndexList[i].DatabaseName == dbname.Replace("Car Name: ", string.Empty)) 
{ 
    DBIndexList.Remove(DBIndexList[i]); 
} 

別の方法(また、大文字と小文字を区別しない)

string dbNameTrimmed = dbname.TrimStart("Car Name: ".ToCharArray()); 
if(DBIndexList[i].DatabaseName.Equals(dbNameTrimmed, StringComparison.OrdinalIgnoreCase)) 
{ 
    DBIndexList.Remove(DBIndexList[i]); 
} 
+0

ありがとうArman!それはうまくいった! –

関連する問題