小编Jea*_*agr的帖子

如何从C#List <string>中删除空行?

我正在尝试在C#中创建一个例程,用于对添加到多行文本框的列表进行排序.完成后,可以选择删除所有空行.有人能告诉我怎么做这个吗?这是我到目前为止所做的,但是当我选择框并点击排序时它根本不起作用:

private void button1_Click(object sender, EventArgs e)
{
    char[] delimiterChars = { ',',' ',':','|','\n' };
    List<string> sortBox1 = new List<string>(textBox2.Text.Split(delimiterChars));

    if (checkBox3.Checked) //REMOVE BLANK LINES FROM LIST
    {
        sortBox1.RemoveAll(item => item == "\r\n");
    }

    textBox3.Text = string.Join("\r\n", sortBox1);
}
Run Code Online (Sandbox Code Playgroud)

c#

8
推荐指数
2
解决办法
2万
查看次数

将文件保存到MyDocuments + App文件夹

我试图将我的.NET应用程序设置文件保存到用户的%MyDocument%\ MyApplication文件夹,但我不知道如何检查现有的文件夹\文件,并在保存时创建或附加文件夹\ file.我不想打开saveFileDialog,因为我需要文件在所有用户计算机上的相同位置.这是我到目前为止所做的,但它不起作用.任何帮助,将不胜感激:

var saveSettings = settingsList.text;  //assign settings to a variable
saveSettings = Regex.Replace(saveSettings, @"\s+", "").Trim() + Environment.NewLine; //remove any extra spaces and add a carriage return so that each setting is on a new line            

var fileName = string.Format("{0}\\{1}", Environment.SpecialFolder.MyDocuments + "\\MyApp\\", "settings.dat");  //generate path to settings.dat
File.AppendAllText(fileName, saveSettings);  //save settings.dat
Run Code Online (Sandbox Code Playgroud)

c# file append appsettings savefiledialog

8
推荐指数
1
解决办法
2万
查看次数

将字符附加到List字符串

我的应用程序中有一个可选的自定义前缀和后缀,我想添加到我的字符串列表中的每个项目.我已经尝试了以下所有内容,但没有一个正在运行.有人能指出我正确的方向吗?

List<string> myList = new List<string>{ "dog", "cat", "pig", "bird" };

string prefix = "my ";
string suffix = " sucks!";

StringBuilder sb = new StringBuilder();
sb.Append(suffix);
sb.Insert(0, prefix);
MyList = sb.ToString();  //This gives me red squigglies under sb.ToString();
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

myList = myList.Join(x => prefix + x + suffix).ToList();  //Red squigglies
Run Code Online (Sandbox Code Playgroud)

和:

sortBox1.Join(prefix + sortBox1 + suffix).ToList();  //Red squigglies
Run Code Online (Sandbox Code Playgroud)

我在哪里错了?

c# list append

7
推荐指数
1
解决办法
2万
查看次数

这个数据库连接字符串有什么问题?

我正在尝试使用以下代码连接到我的远程MySQL服务器.你能告诉我我做错了什么,因为用变量替换数据库连接信息似乎没有用.

   using MySql.Data.MySqlClient;       

   string db_Server = "10.0.0.0";
   string db_Name   = "myDatabase";
   string db_User   = "myUser";
   string db_Pass   = "myPassword";


   // Connection String
   MySqlConnection myConnection = new MySqlConnection("server = {0}; database = {1}; uid = {2}; pwd = {3}", db_server, db_Name, db_User, db_Pass);
Run Code Online (Sandbox Code Playgroud)

作为PHP开发人员,我更喜欢使用上面的代码而不是下面的故意转换:

   MySqlConnection myConnection = new MySqlConnection("server=10.0.0.0; database=myDatabase; uid=myUser; pwd=myPassword");
Run Code Online (Sandbox Code Playgroud)

但正如你在这张图片中看到的那样,我得到了很多红色的曲线:http: //screencast.com/t/xlwoG9by

c# mysql database-connection

6
推荐指数
1
解决办法
898
查看次数

C# - 将.txt文件读入TextBox

我试图使用以下代码将.txt文件读入多行文本框.我已经让文件对话框按钮完美地工作,但我不知道如何将实际文本从文件框中获取到文本框中.这是我的代码.你能帮我吗?

private void button_LoadSource_Click(object sender, EventArgs e)
    {
        Stream myStream = null;
        OpenFileDialog openFileDialog1 = new OpenFileDialog();

        openFileDialog1.InitialDirectory = "c:\\";
        openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
        openFileDialog1.FilterIndex = 2;
        openFileDialog1.RestoreDirectory = true;

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            try
            {
                if ((myStream = openFileDialog1.OpenFile()) != null)
                {
                    using (myStream)
                    {
                        // Insert code to read the stream here.
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# textbox list text-files

5
推荐指数
1
解决办法
5万
查看次数

根据字数过滤字符串

我试图根据每个字符串中的单词数过滤字符串列表.我假设您将修剪字符串末尾的任何空格,然后计算字符串中剩余的空格数,以便WordCount = NumberOfSpaces + 1.这是最有效的方法吗?我知道对于基于字符数的过滤,以下工作正常...只是无法弄清楚如何使用C#/ LINQ简洁地编写它.

if (checkBox_MinMaxChars.Checked)
{
    int minChar = int.Parse(numeric_MinChars.Text);
    int maxChar = int.Parse(numeric_MaxChars.Text);

    myList = myList.Where(x => 
                              x.Length >= minChar && 
                              x.Length <= maxChar).ToList();
}
Run Code Online (Sandbox Code Playgroud)

任何计算单词的想法?

更新:这就像一个魅力...谢谢马修:

int minWords = int.Parse(numeric_MinWords.Text);
int maxWords = int.Parse(numeric_MaxWords.Text);

sortBox1 = sortBox1.Where(x => x.Trim().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Count() >= minWords &&
                               x.Trim().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Count() <= maxWords).ToList();
Run Code Online (Sandbox Code Playgroud)

c# ienumerable list word-count charactercount

5
推荐指数
1
解决办法
623
查看次数

检查文本框文本是否为空

我使用以下代码检查空文本框,如果它为null,则跳过副本到剪贴板并转到其余代码.

我不明白为什么我得到一个"值不能为NULL"的例外.它不应该看到null并继续前进而不复制到剪贴板?

private void button_Click(object sender, EventArgs e)
{
    if (textBox_Results.Text != null) Clipboard.SetText(textBox_Results.Text);            

    //rest of the code goes here;
}
Run Code Online (Sandbox Code Playgroud)

c# null

4
推荐指数
2
解决办法
3万
查看次数

将结束字符与列表进行比较

我试图将字符串的最后一个字符与已知值列表进行比较,如果任何已知值与结束字符匹配,则设置一个标志.我已经想出了如何与一个角色进行比较,但我似乎无法弄清楚如何与列表进行比较.有人可以帮忙吗?到目前为止,这是我的代码:

StringBuilder myGrade = new StringBuilder();

// then I pull some data, calculate some stuff, give a grade, build the string, etc.  The resulting text can vary, but the grade letter will always be last.

var goodGrades = new List<string> { "A", "B", "C" };
string endStr = myGrade.ToString();
endStr = endStr.Substring(Math.Max(0, endStr.Length - 1));
if (endStr == "A")
     //do some stuff for passing grades
else
     //do some other stuff for failing grades
Run Code Online (Sandbox Code Playgroud)

同样,这适用于单个char ...但是我如何检查goodGrades列表中的每个项目?有正则表达式的可能吗?在此先感谢您的帮助.

c# regex string compare

3
推荐指数
1
解决办法
396
查看次数

使用 C# 排列多个字典值

有没有办法使用IEnumerable For Each-Loop 来解析 a 中的多个定义SortedDictionary?我想基本上将它用作我猜的简单数据库结构。例如,假设我的字典用于旋转一篇文章,如下所示。对于句子中的每个单词(我的字符串),我将使用同义词(我的定义)创建该字符串的新版本。这甚至是最好的选择吗?这是我到目前为止:

string testSentence = "Take it or beat it.";

List<string> allSynonyms = SynonymUtility.AlternativesOf(testSentence).ToList();
variations.AddRange(allSynonyms);


public class SynonymUtility
{
    private static readonly SortedDictionary<char, string> synonymList = new SortedDictionary<char, string>
    {
        {'but', "however"},
        {'take', "abduct, abstract, accroach"},
        {'beat', "hit, lash, punch, shake"},
        {'end', " butt, confine, cusp"};
    }

    public static IEnumerable<string> AlternativesOf(string arg)
    {
        arg = arg.ToLower();
        string[] words = arg.Split(" "));
        //END HERE I AM STUCK...
    }    
Run Code Online (Sandbox Code Playgroud)

如您所见,我正在寻求解决方案,但我无法弄清楚如何将每个拆分的单词替换为字典中的每个同义词。每次尝试只会替换一个项目......所以最后会有9个句子串的排列。

无论如何,任何帮助将不胜感激。

c# dictionary permutation

3
推荐指数
1
解决办法
888
查看次数

使用C#编写TEXT文件

我试图将SaveFileDialog添加到Windows应用程序中,在其中我从多行文本框的内容中保存了一个简单的文本文件。该程序似乎可以正常工作,直到保存对话框,并且我没有收到任何错误,但是一旦单击“保存”按钮,应用程序就会挂起。唯一的解决方法是单击“停止调试”按钮。这是我尝试过的代码段,但是都创建了相同的挂起:

private void button_SaveToFile_Click(object sender, EventArgs e)
    {
        SaveFileDialog saveFileDialog1 = new SaveFileDialog();
        saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";            
        saveFileDialog1.RestoreDirectory = true;

        if (saveFileDialog1.ShowDialog() == DialogResult.OK)
        {
               File.WriteAllText(saveFileDialog1.FileName, textBox_ListDestination.Text);
        }            
    }
Run Code Online (Sandbox Code Playgroud)

private void button_SaveToFile_Click(object sender, EventArgs e)
    {
        Stream myStream;
        SaveFileDialog saveFileDialog1 = new SaveFileDialog();

        saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
        saveFileDialog1.FilterIndex = 2;
        saveFileDialog1.RestoreDirectory = true;

        if (saveFileDialog1.ShowDialog() == DialogResult.OK)
        {
            if ((myStream = saveFileDialog1.OpenFile()) != null)
            {
                File.WriteAllText(saveFileDialog1.FileName, textBox_ListDestination.Text);
                myStream.Close();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# savefiledialog

2
推荐指数
1
解决办法
3万
查看次数