C# 如何测试对象是否为字符串?

C# 如何测试对象是否为字符串?,c#,list,if-statement,testing,types,C#,List,If Statement,Testing,Types,我有一个需要删除所有字符串的对象列表,列表中只剩下整数 我遇到的问题是,一些字符串只包含数字,例如“1”是一个字符串。如果我在If语句中使用isIf(listOfItems[I]是字符串)对“1”不起作用,我也尝试了GetType()和typeof,如下所示,但我遇到了同样的问题 如何测试对象是否是字符串,即使该字符串包含数字 公共静态类过滤器 { 公共静态IEnumerable GetIntegersFromList(列表项列表) { for(int i=0;i

我有一个需要删除所有字符串的对象列表,列表中只剩下整数

我遇到的问题是,一些字符串只包含数字,例如“1”是一个字符串。如果我在If语句中使用is
If(listOfItems[I]是字符串)
对“1”不起作用,我也尝试了
GetType()
typeof
,如下所示,但我遇到了同样的问题

如何测试对象是否是字符串,即使该字符串包含数字

公共静态类过滤器
{
公共静态IEnumerable GetIntegersFromList(列表项列表)
{
for(int i=0;i
忽略任何其他问题,您可以使用过滤所有实际上已装箱的对象
int

根据指定类型筛选IEnumerable的元素

var ints=listOfItems.OfType().ToList();

谢谢!这正是我想做的,而且简单得多。
var ints = listOfItems.OfType<int>().ToList();