Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 查找并更新运行时创建的对象_C#_Wpf_Data Binding - Fatal编程技术网

C# 查找并更新运行时创建的对象

C# 查找并更新运行时创建的对象,c#,wpf,data-binding,C#,Wpf,Data Binding,我还没有找到一个重复的答案,所以还是这样吧 我需要在运行时根据从串行端口接收的数据创建“对象”(可以是键:值对,但我需要数据绑定) 例如,我将收到“012320.50”。我将其分解为值为“20.50”的“0123”的对象/键。我还需要将一个控件数据绑定到此。我不知道有多少,也不知道这些来源的“名称”,直到数据流进来。所以我需要动态地创建它们 也就是说,我计划使用一个对象列表…但我希望有更好的解决方案。我还没弄明白如何绑定到这些 模拟示例: class myObject{ int Name

我还没有找到一个重复的答案,所以还是这样吧

我需要在运行时根据从串行端口接收的数据创建“对象”(可以是键:值对,但我需要数据绑定)

例如,我将收到“012320.50”。我将其分解为值为“20.50”的“0123”的对象/键。我还需要将一个控件数据绑定到此。我不知道有多少,也不知道这些来源的“名称”,直到数据流进来。所以我需要动态地创建它们

也就是说,我计划使用一个对象列表…但我希望有更好的解决方案。我还没弄明白如何绑定到这些

模拟示例:

class myObject{
    int Name{get;set;}
    double Value{get;set}
}

Dictionary<int, myObject> dict = new Dictionary<int, myObject>();
现在回答我的问题:

  • 当源的值再次通过时,如何引用该值并分配新值?我在考虑遍历字典和if(Name==Name)之类的东西来更改值,但我认为这很糟糕,效率也很低。希望有人有更好的方法

  • 如何将控件数据绑定到同一对象?这里一点也不确定…只是从WPF开始。我知道如何进行数据绑定…但对于动态对象,就不那么多了


  • 为什么不创建一个自定义类呢?有几种方法可供选择。。我相信,如果您不想要重复的键/值对,那么我将创建一个类,然后创建某个类的
    列表
    ,这样基本上您可以创建一个公共或受保护的列表someObjList=new List()我同意,这是我对字典的想法…列表也可以,但是操纵对象值的唯一方法是迭代列表…每次值更改时。我可能每秒会得到10+个这样的值。除了列表索引之外,还有没有更好的方法来识别运行时创建的对象以更改其值?10/秒不是很多。
    
    dict.Add(name, new myObject(Name=name, Value = value});