我想在嵌入的文本框中显示排行榜(位置、名称、级别)。问题是,我必须将 name='smth' 放在 embed.add_field 函数中,否则它将无法工作。
如何删除这些标题?
我目前的代码是
number = 0
for x in character_list:
if number == 0:
embed.add_field(name='Platz', value=x[0], inline=True)
embed.add_field(name='Name', value=x[1], inline=True)
embed.add_field(name='Level', value=x[2], inline=True)
number = 1
else:
embed.add_field(name='', value=x[0], inline=True)
embed.add_field(name='', value=x[1], inline=True)
embed.add_field(name='', value=x[2], inline=True)
return await client.say(embed=embed)
Run Code Online (Sandbox Code Playgroud)
我也尝试使用 utf-8 中的假空格,但它看起来很难看,因为不是白色标题,而是只有一个空格。如果它是空的,我想删除该行
我在Google上找不到如何解决我的问题.我也看过Microsoft文档但由于某种原因它不会工作.
我用一些Propertys为我的列表制作了一个类
public class Person
{
public string Name { get; set; }
public string Age { get; set; }
public string Count { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后我在我的Main类中创建了List.
List<Person> personList = new List<Person>();
Run Code Online (Sandbox Code Playgroud)
现在我们来解决我的问题.我想检查名称属性="测试"的项目是否存在.如果是,我想显示一个返回结果的MessageBox.我试过了
if(personList.Find(x => x.Name == "Test"))
Run Code Online (Sandbox Code Playgroud)
不要工作.
if(personList.Find(x => x.Name.Contains("Test"))
Run Code Online (Sandbox Code Playgroud)
不要工作.
Person result = personList.Find(x => x.Name == "Test");
if(result.Name == "Test")
Run Code Online (Sandbox Code Playgroud)
不要工作.
我得到的消息就像我无法将Person转换为string/bool.如果我尝试结果,我得到消息,该对象未设置为对象实例.我不明白这个错误,因为我在Main Class的开头创建了一个实例.另外我认为我需要空检查.因为我想在列表中的项目之前检查项目是否存在.这是一个事件.完整的我的想法代码:
TreeViewItem treeViewItem = sender as TreeViewItem;
DockPanel dockpanel = treeViewItem.Header as DockPanel;
List<TextBlock> textblock = dockpanel.Children.OfType<TextBlock>().ToList();
TextBlock name = textblock[0];
TextBlock …Run Code Online (Sandbox Code Playgroud)