C# C类添加到集合中 使用系统; 使用System.Windows; 使用System.Collections.Generic; 使用Microsoft.Research.DynamicDataDisplay.DataSources; 使用System.Windows.Threading; 命名空间类引用堆栈溢出 { 公共部分类主窗口:窗口 { public observedatasource stockData1=null; 公共主窗口() { 初始化组件(); DateTime=DateTime.Now; 双倍价格=180.00;//IBM股票价格 StockInfo1Info=newStockInfo1{Time=Time,Price=Price}; stockData1.AppendAsync(调度程序,信息); } 公共类股票信息1 { 公共日期时间{get;set;} 公共双价{get;set;} 公共双范围{get;set;} } } }
我对C#/WPF相当陌生。希望跟踪/绘制许多股票(例如:IBM as StockInfo1)。我怎样才能在不创建丑陋的StockInfo2、StockInfo3等的情况下,干净利落地完成任务? 我一直在寻找和尝试几种选择,但许多选择超出了我对C#的有限知识。C# C类添加到集合中 使用系统; 使用System.Windows; 使用System.Collections.Generic; 使用Microsoft.Research.DynamicDataDisplay.DataSources; 使用System.Windows.Threading; 命名空间类引用堆栈溢出 { 公共部分类主窗口:窗口 { public observedatasource stockData1=null; 公共主窗口() { 初始化组件(); DateTime=DateTime.Now; 双倍价格=180.00;//IBM股票价格 StockInfo1Info=newStockInfo1{Time=Time,Price=Price}; stockData1.AppendAsync(调度程序,信息); } 公共类股票信息1 { 公共日期时间{get;set;} 公共双价{get;set;} 公共双范围{get;set;} } } },c#,wpf,collections,C#,Wpf,Collections,我对C#/WPF相当陌生。希望跟踪/绘制许多股票(例如:IBM as StockInfo1)。我怎样才能在不创建丑陋的StockInfo2、StockInfo3等的情况下,干净利落地完成任务? 我一直在寻找和尝试几种选择,但许多选择超出了我对C#的有限知识。 感谢您提前提供任何指导/示例/代码片段只需为股票创建一个类即可 using System; using System.Windows; using System.Collections.Generic; using Microsoft.Re
感谢您提前提供任何指导/示例/代码片段只需为股票创建一个类即可
using System;
using System.Windows;
using System.Collections.Generic;
using Microsoft.Research.DynamicDataDisplay.DataSources;
using System.Windows.Threading;
namespace ClassReferenceStackOverFlow
{
public partial class MainWindow : Window
{
public ObservableDataSource<StockInfo1> stockData1 = null;
public MainWindow()
{
InitializeComponent();
DateTime time = DateTime.Now;
double price = 180.00; // IBM stock price
StockInfo1 info = new StockInfo1 { Time = time, Price = price };
stockData1.AppendAsync(Dispatcher, info);
}
public class StockInfo1
{
public DateTime Time { get; set; }
public double Price { get; set; }
public double Range { get; set; }
}
}
}
公共类股票
{
公共字符串符号{get;set;}
public observetecollection StockInfos{get;}=new observetecollection();
}
公共类股票信息
{
公共日期时间{get;set;}
公共双价{get;set;}
公共双范围{get;set;}
}
然后在主课上
public class Stock
{
public string Symbol { get; set; }
public ObservableCollection<StockInfo> StockInfos { get; } = new ObservableCollection<StockInfo>();
}
public class StockInfo
{
public DateTime Time { get; set; }
public double Price { get; set; }
public double Range { get; set; }
}
公共ObservableCollection股票{get;}=new ObservableCollection();
不需要这个
AppendAsync
东西只需要为股票创建一个类
using System;
using System.Windows;
using System.Collections.Generic;
using Microsoft.Research.DynamicDataDisplay.DataSources;
using System.Windows.Threading;
namespace ClassReferenceStackOverFlow
{
public partial class MainWindow : Window
{
public ObservableDataSource<StockInfo1> stockData1 = null;
public MainWindow()
{
InitializeComponent();
DateTime time = DateTime.Now;
double price = 180.00; // IBM stock price
StockInfo1 info = new StockInfo1 { Time = time, Price = price };
stockData1.AppendAsync(Dispatcher, info);
}
public class StockInfo1
{
public DateTime Time { get; set; }
public double Price { get; set; }
public double Range { get; set; }
}
}
}
公共类股票
{
公共字符串符号{get;set;}
public observetecollection StockInfos{get;}=new observetecollection();
}
公共类股票信息
{
公共日期时间{get;set;}
公共双价{get;set;}
公共双范围{get;set;}
}
然后在主课上
public class Stock
{
public string Symbol { get; set; }
public ObservableCollection<StockInfo> StockInfos { get; } = new ObservableCollection<StockInfo>();
}
public class StockInfo
{
public DateTime Time { get; set; }
public double Price { get; set; }
public double Range { get; set; }
}
公共ObservableCollection股票{get;}=new ObservableCollection();
不需要这个
AppendAsync
stuff你不需要StockInfo2
只需使用列表或数组
public ObservableCollection<Stock> Stocks { get; } = new ObservableCollection<Stock>();
public List StockList=new List();
然后你可以用
public List<ObservableDataSource<StockInfo>> StockList = new List<ObservableDataSource<StockInfo>>();
var info=new observedatasource>(new StockInfo{
时间=日期时间。现在,
价格=20
})
股票列表。添加(信息);
将新股票添加到您的列表中
或者编写一个函数来添加新的StockInfo
var info = new ObservableDataSource<StockInfo>>(new StockInfo {
Time = DateTime.Now,
Price = 20
})
StockList.add(info);
public void addStockInfo(双倍价格,日期时间){
StockList.add(新的ObservableDataSource>(新的StockInfo{
时间=时间,
价格=价格
});
}
您不需要StockInfo2
只需使用列表或数组
public ObservableCollection<Stock> Stocks { get; } = new ObservableCollection<Stock>();
public List StockList=new List();
然后你可以用
public List<ObservableDataSource<StockInfo>> StockList = new List<ObservableDataSource<StockInfo>>();
var info=new observedatasource>(new StockInfo{
时间=日期时间。现在,
价格=20
})
股票列表。添加(信息);
将新股票添加到您的列表中
或者编写一个函数来添加新的StockInfo
var info = new ObservableDataSource<StockInfo>>(new StockInfo {
Time = DateTime.Now,
Price = 20
})
StockList.add(info);
public void addStockInfo(双倍价格,日期时间){
StockList.add(新的ObservableDataSource>(新的StockInfo{
时间=时间,
价格=价格
});
}
aList
能否解决您的问题?aList
能否解决您的问题?进一步澄清:数据来自交易所(NYSE、CME、NASDAQ等)。每秒钟/分钟实时发送一次带有(符号、价格、时间)的报价。必须找到正确的集合,并将引号添加到集合中。在Microsoft的动态数据显示ObservableData Source中,有一个AppendAsync函数,当大量数据以稳定流形式输入时,可以方便地异步添加图表数据。目前,我读取了符号,标识集合(StockInfo1,StockInfo2,…20)并添加要绘制的数据点。进一步澄清:数据来自交易所(纽约证券交易所、芝加哥商品交易所、纳斯达克等)。每秒钟/分钟实时一次,一个带有(符号、价格、时间)的报价。必须找到正确的集合,并将引号添加到集合中。在Microsoft的动态数据显示ObservableData Source中,有一个AppendAsync函数,当大量数据以稳定流形式输入时,可以方便地异步添加图表数据。目前,我读取了符号,标识集合(StockInfo1,StockInfo2,…20)并添加要绘制的数据点。