检查多个if语句中的值,并根据结果存储多条注释

本文关键字:结果 注释 存储 if 语句 检查 | 更新日期: 2023-09-27 18:02:19

有人能给我一个例子,从一个if语句返回多个评论的最佳方式?

  protected string CheckFacility(int FacilityId)
{
    var cfacility = new List<string>();
    BuildingPresenter b = new BuildingPresenter();
    FunctionalAreaPresenter f = new FunctionalAreaPresenter();
    if (b.GetBuildings(FacilityId) != null)
    {
        cfacility.Add("There are Functional Areas associated with this facility. ");
    }

    if (f.GetFunctionalAreas(FacilityId) != null) 
    {
        cfacility.Add("There are Functional Areas associated with this facility. ");
    }
    var cfacilitystring = string.Join(",", cfacility);

我得到这些错误。

错误3最佳重载方法匹配'string '。Join(string, string[])'有一些无效参数

错误4参数2:不能从"System.Collections.Generic"转换。List' to 'string[]'

检查多个if语句中的值,并根据结果存储多条注释

var shirtAttributes = new List<string>();
if (shirt.IsBlack)
{
    shirtAttributes.Add("black");
}
if (shirt.IsLarge)
{
    shirtAttributes.Add("large");
}
if (shirt.IsLongSleeve)
{
    shirtAttributes.Add("long sleeve");
}
var shirtAttributesString = string.Join(",", shirtAttributes);

输出类似于:"black, long sleeve"或"black"或"large, long sleeve"

您有很多方法来处理这个问题,您可以创建一个类并覆盖ToString()方法:

  public class Shirt{
    public Shirt(string color, string size, string sleeve)
    {
     Color =color;
     Size=size;
     Sleeve=sleeve;
     }
    public string Color {get;set;}
    public string Size {get;set}
    public string Sleeve {get;set}

    public override string ToString(){
     return string.Format("shirt is color :{0} , size :{1} and shleeve: {2}",Color,Size,Sleeve )
    }
  }

所以当你用值

初始化类后运行程序时
Shirt myShirt = new Shirt("black","large","long");
if(myShirt.Color=="black"&& myShirt.Size=="large" && myShirt.Sleeve=="long")
{
 return myShirt.ToString(); 
 }
else{
 return "no match";//or want you want
 }