从ΤextΒox更新字符串

时间:2013-08-10 08:03:12

标签: c# string

在我正在编写的程序中,我在“设置”中创建了一个名为“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);
    }

2 个答案:

答案 0 :(得分:0)

尝试喜欢这个,

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

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

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

         }

答案 1 :(得分: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();