using System.Collections.Generic;
public static void Main()
List<Data> listData = new List<Data>(){
new Data() { ID = 0, Name = "XXX" },
new Data() { ID = 1, Name = "AAA" },
new Data() { ID = 2, Name = "BBB" },
new Data() { ID = 3, Name = "CCC" }
var result1 = FilterList<Data>(listData);
Console.WriteLine(result1);
List<Product> listProduct = new List<Product>(){
new Product() { ID = 0, Name = "產品X", Price = 100 },
new Product() { ID = 1, Name = "產品1", Price = 200 },
new Product() { ID = 2, Name = "產品2", Price = 300 },
new Product() { ID = 3, Name = "產品3", Price = 400 }
var result2 = FilterList<Product>(listProduct);
Console.WriteLine(result2);
public class Data : IData
public int ID { get; set; }
public string Name { get; set; }
public class Product : IData
public int ID { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public static List<T> FilterList<T>(List<T> obj) where T : IData
return obj.Where(x => x.ID > 0).ToList();