本文整理汇总了C#中StringScanner.Next方法的典型用法代码示例。如果您正苦于以下问题:C# StringScanner.Next方法的具体用法?C# StringScanner.Next怎么用?C# StringScanner.Next使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StringScanner
的用法示例。
在下文中一共展示了StringScanner.Next方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EquationParsing
public void EquationParsing()
{
string test = " 4x+1 = 102.333^2 444 theEnd";
scanner = test;
scanner.IgnoreWhitespace = true;
scanner.Expect("4");
Assert.AreEqual("4",scanner.Match, "Expect 4");
Assert.Throws(typeof(InvalidOperationException), Del(() =>
{
scanner.Expect("y");
}),"Expect thows");
var text = scanner.GetAlpha();
Assert.AreEqual("x", text, "Got correct text");
scanner.ExpectChar('+','-');
Assert.AreEqual("+", scanner.Match, "Got correct operator");
scanner.ExpectNumber();
Assert.AreEqual("1", scanner.Match, "Got correct number");
// skip the =
scanner.Next(2);
text = scanner.GetNumber();
Assert.AreEqual("102.333", scanner.Match, "Got correct number");
scanner.AssertNotFinished();
scanner.ExpectChar('^');
scanner.ExpectNumber(); // 2
scanner.ExpectNumber(); // 444
text = scanner.GetAlpha();
Assert.AreEqual("theEnd", text, "Got correct number");
Assert.IsTrue(scanner.Finished);
scanner.Undo();
Assert.AreEqual("444", scanner.Match, "Undo returned correct data for current");
scanner.Next();
Assert.AreEqual('t',scanner.NextChar,"In correct position");
text = scanner.GetAlpha();
Assert.AreEqual("theEnd", scanner.Match, "Backing up resulted in the previous match");
}