循环数据库项,求和值并解析不需要的文本

时间:2012-09-17 22:33:12

标签: c# windows-phone-7 parsing loops sum

我想知道每个循环。我所拥有的是每个项目的几个列,我想循环它并从每个名为“inch”的列中取出值。

现在到价值不仅仅是数字而是字母的部分,比如“1英寸”。

所以我有3件物品有“1英寸”,“5英寸”和“10英寸”。

所以我想拿出“英寸”(我猜是解析)并将这三个加在一起,所以总和是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");
            }
        }
    }

然后我通过我的viewmodel查看它,连接字符串为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);
    }

1 个答案:

答案 0 :(得分: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";

更新: 我不明白你是在询问如何从数据库中检索数据,也不知道如何处理从数据库中提取的数据。

假设第二种情况,请检查以下答案

从数据库中获取数据并将其转换为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", ""));