-1

ループごとに疑問に思っています。私が持っているのは各アイテムのいくつかの列であり、それをループして、「インチ」という名前の各列から値を取り出したいと思います。

ここで、値が数字だけでなく、「1インチ」のように文字でもある部分に移ります。

だから私は「1インチ」、「5インチ」、「10インチ」の3つのアイテムを持っています。

したがって、「インチ」(おそらく解析)を取り出して、これら3つを合計して合計が16になるようにします。

これは、Windows PhoneのローカルデータベースC#の場合です。

ViewModelとModelがあります。モデルの列は次のようになります

    private string _itemSpring;

    [Column]
    public string ItemSpring
    {
        get { return _itemSpring; }
        set
        {
            if (_itemSpring != value)
            {
                NotifyPropertyChanging("ItemSpring");
                _itemSpring = value;
                NotifyPropertyChanged("ItemSpring");
            }
        }
    }

次に、dbへの接続文字列を使用してビューモデルで表示します。

// LINQ to SQL data context for the local database.
    public ToDoDataContext toDoDB;

    // Class constructor, create the data context object.
    public ToDoViewModel(string toDoDBConnectionString)
    {
        toDoDB = new ToDoDataContext(toDoDBConnectionString);
    }
4

1 に答える 1

1

あなたの3つのアイテムがこのようなものである場合、

string[] items = { "1 inch", "5 inch", "10 inch" };
int totalCount = 0;
foreach(var item in items)
{
   string[] substrings = item.split(' ');
   totalCount += int.Parse(substrings[0]);
}
string finalString = totalCount + " inch";

更新:データベースからデータを取得する方法と、DBからフェッチされたデータを処理する方法のどちらを求めているのかわかりません。

2番目のケースを想定して、次の回答を確認してください

データベースからデータを取得し、それをListまたはObservableCollectionに変換すると、次のクエリを使用して必要なものを取得できます。

foreach(var item in ItemsList)
totalCount += double.Parse(item.ItemSize.Split(' ')[0]);

もしくはそうでないか

foreach(var item in ItemsList)
totalCount += double.Parse(item.ItemSize.Replace(" inch", ""));
于 2012-09-18T04:16:38.583 に答える