本文整理汇总了C#中ICSharpCode.NRefactory.CSharp.CSharpParser.FirstOrDefault方法的典型用法代码示例。如果您正苦于以下问题:C# CSharpParser.FirstOrDefault方法的具体用法?C# CSharpParser.FirstOrDefault怎么用?C# CSharpParser.FirstOrDefault使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICSharpCode.NRefactory.CSharp.CSharpParser
的用法示例。
在下文中一共展示了CSharpParser.FirstOrDefault方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetBlockTypeStartingAt
public static BlockType GetBlockTypeStartingAt(string[] lines, int index)
{
/////////////////////EARLY OUT////////////////////////
if (index >= lines.Length)
{
return BlockType.None;
}
//////////////////END EARLY OUT//////////////////////
BlockType blockType = BlockType.None;
var statements = new CSharpParser().ParseStatements(lines[index]);
var firstStatement = statements.FirstOrDefault();
if (firstStatement != null)
{
if (firstStatement is WhileStatement)
{
blockType = BlockType.While;
}
else if (firstStatement is ForeachStatement)
{
blockType = BlockType.Foreach;
}
else if (firstStatement is ForStatement)
{
blockType = BlockType.For;
}
else if (firstStatement is IfElseStatement)
{
string line = lines[index].Trim();
if (line.StartsWith("if"))
{
blockType = BlockType.If;
}
else if (line.StartsWith("else if"))
{
blockType = BlockType.ElseIf;
}
else
{
blockType = BlockType.Else;
}
}
}
return blockType;
}