datatable 根据条件删除多行

求助:datatable 根据条件删除多行
有datatable如下
addr,name
广州,张三
长沙,李四
广州,王五
武汉,赵六

求助:
从外部传入一个 int 值 lb

当lb=1时,删除addr为广州的所有行,返回新的datatable
当lb=2时,删除addr为长沙的所有行,返回新的datatable
当lb=3时,返回原datatable
------解决方案--------------------

DataTable getTable(DataTable dt,int type)
    {
        if (type == 3) return dt;
        if (type == 1)
        {
            DataTable tmp = dt.Clone();
            DataRow[] drs = dt.Select("addr<>'广州'");
            foreach (DataRow dr in drs)
            {
                tmp.Rows.Add(dr.ItemArray);
            }
            return tmp;
        }
        if (type == 2)
        {
            DataTable tmp = dt.Clone();
            DataRow[] drs = dt.Select("addr<>'长沙'");
            foreach (DataRow dr in drs)
            {
                tmp.Rows.Add(dr.ItemArray);
            }
            return tmp;
        }
        return null;
    }

------解决方案--------------------

public DataTable GetNewDatatable(DataTable dt)
{
    DataTable dtNew = new DataTable();
dtNew.Columns.Add("addr");
dtNew.Columns.Add("name");
if(ib==1)
{
      for(int i=0;i<dt.Rows.Count;i++)
      {
             if(dt.Rows[i]["addr"].ToString()!="广州")
            {
                  dtNew.Rows.Add(dt.Rows[i]);
            }
      }
}
else if(lb==2)
{
   //.....
}
else if(lb==3)
{
     dtNew = dt;
}

return dtNew;
}