有人知道如何在c#中创建一个字符串获取列表框的某个(未选中的)行的文本吗?我试过了(这有项目选择):
string text = listBox1.SelectedItem.ToString();
string[] stringy = text.Split(' ');
MessageBox.Show(stringy[1]);
但这需要选择一个项目。如果有可能,这就是我想要做的事情:
string text = listBox1.GetLine.ThatContainsText("stuff stuff stuff");
string[] stringy = text.Split(' ');
MessageBox.Show(string[1]);
如果有人可以提供帮助,那就太好了。如果你需要我提供其他任何东西,我可以。
答案 0 :(得分:1)
var textToSearchFor = "stuff stuff stuff";
var text = (from x in listBox1.Items.Cast<string>()
where x.Contains(textToSearchFor)
select x)
.FirstOrDefault(); //maybe even single, depending on your input
答案 1 :(得分:0)
var text = (from x in listBox1.Items.Cast<string>()
where x.Contains("stuff stuff stuff")
select x).FirstOrDefault();
if (!string.IsNullOrEmpty(text))
{
string[] stringy = text.Split(' ');
MessageBox.Show(string[1]);
}
答案 2 :(得分:0)
执行类似
的操作String text = (String)listBox.Items
.FirstOrDefault(i => ((String)i).Contains("stuff stuff stuff"));
答案 3 :(得分:0)
String text = (String)listBox.Items.Cast<string>()
.FirstOrDefault(i => ((String)i).Contains("stuff stuff stuff") && !i.Equals(listBox.SelectedItem));
抱歉没有格式化的回复,我是通过手机写的。
答案 4 :(得分:0)
如果您想要获得完全匹配,这是一个简单的解决方案。
var text = listBox1.Items.FindByText("stuff stuff stuff");
否则你将不得不使用
var text = (from x in listBox1.Items.Cast<string>()
where x.Contains("stuff stuff stuff")
select x).FirstOrDefault();
然后只验证'text'不为空
if (text != null)
{
string[] stringy = text.ToString().Split(' ');
MessageBox.Show(stringy[1]);
}