只有在运行时才知道子类型时,是否可以从特定子类型的集合中获取对象?像这样:
word = raw_input('Enter word:') # raw_input in python 2.x and input in python 3.x
split_word = raw_input('Split at: ')
splitting = word.partition(split_word)
'''Here lets assume,
word = 'buffalo'
split_word = 'a'
Then, splitting variable returns list, storing three value,
['buff', 'a', 'lo']
To get your desire output you need to do some slicing and concatenate some value .
'''
output = '{}\n{}'.join(splitting[0] + splitting[1], splitting[2])
print(output)
答案 0 :(得分:1)
我认为您可以使用以下代码:
var result = intenalList.Where(x => x.GetType() == obj.GetType()).FirstOrDefault();
答案 1 :(得分:0)
LINQ具有两种将未知(或父)类型序列转换为子类型Cast
和OfType
的操作。
Cast
将类型转换应用于每个元素,如果无效则失败。
OfType
仅返回可以转换为新类型的元素。
所以
var item = list.OfType<DESIREDTYPE>().FirstOrDefault();