4

在我正在制作的程序中,我在“设置”中创建了一个名为“Tickers”的字符串。范围是应用程序,值是“AAPL,PEP,GILD”,不带引号。

我有一个名为 InputTickers 的 RichTextBox,用户应该在其中输入股票代码,例如 AAPL、SPLS 等。你明白了。当他们单击 InputTickers 下方的按钮时,我需要它来获取 Settings.Default["Tickers"]。接下来,我需要它检查他们输入的任何代码是否已经在代码列表中。如果没有,我需要添加它们。

添加它们后,我需要将其转回 Tickers 字符串以再次存储在设置中。

我还在学习编码,所以这是我最好的猜测,我已经走了多远。不过,我想不出如何正确完成这项工作。

private void ScanSubmit_Click(object sender, EventArgs e)
{
    // Declare and initialize variables
    List<string> tickerList = new List<string>();


    try
    {
        // Get the string from the Settings
        string tickersProperty = Settings.Default["Tickers"].ToString();

        // Split the string and load it into a list of strings
        tickerList.AddRange(tickersProperty.Split(','));

        // Loop through the list and do something to each ticker
        foreach (string ticker in tickerList)
        {
            if (ticker !== InputTickers.Text)
                 {
                     tickerList.Add(InputTickers.Text);
                 }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
4

2 回答 2

0

试试喜欢这个,

 foreach (string ticker in tickerList)
    {
        if (InputTickers.Text.Split(',').Contains(ticker))
             {
                 tickerList.Add(InputTickers.Text);
             }
    }

如果您的输入字符串有空格,

        if (InputTickers.Text.Replace(" ","").Split(',').Contains(ticker))
         {

         }
于 2013-08-10T08:10:18.743 回答
0

您可以将 LINQ 扩展方法用于集合。产生更简单的代码。首先,从设置中拆分字符串并将项目添加到集合中。其次,从文本框中拆分(您忘记了)字符串并添加这些项目。第三,使用扩展方法获取不同的列表。

// Declare and initialize variables
List<string> tickerList = new List<string>();

    // Get the string from the Settings
    string tickersProperty = Settings.Default["Tickers"].ToString();

    // Split the string and load it into a list of strings
    tickerList.AddRange(tickersProperty.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
    tickerList.AddRange(InputTickers.Text.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries));

    Settings.Default["Tickers"] = String.Join(',', tickerList.Distinct().ToArray());
    Settings.Default["Tickers"].Save();
于 2013-08-10T10:36:20.963 回答