我有一个.csv
文件(Book1.csv
)包括有限状态机的转换:`.csv`文件的内容应该是`IEnumerable <T>'类型?
q_src,eve,q_dst
q0,sig1,q1
q1,sig2,q2
我需要编写找到一个转移的结果的方法。
State FindDestination(State q0, Event s0)
{
var transitions = File.ReadAllLines(@"Book1.csv").Skip(1).Select(x => x.Split(','));
State newq = from t in transitions
where t.q_src ==q0 && t.eve == s0
select new t.q_dst;
return newq;
}
但它不是有效的,因为该方法将每个过渡每次读取文件:
现在,如果我尝试读取文件一次,并通过其内容的方法,我不是k 现在我应该使用什么类型的方法的参数的transitions
:
var transitions = File.ReadAllLines(@"Book1.csv").Skip(1).Select(x => x.Split(','));
State FindDestination(State q0, Event s0, ? transitions) //?type
{
State newq = from t in transitions
where t.q_src ==q0 && t.eve == s0
select new t.q_dst;
return newq;
}
此外,State
和Event
类只有一个属性Name
。
我读过粗略的想法是使用IEnumerable<?>
,但.csv
文件的?
类型是什么?