本文整理汇总了C#中System.IO.StreamReader.ReadChar方法的典型用法代码示例。如果您正苦于以下问题:C# StreamReader.ReadChar方法的具体用法?C# StreamReader.ReadChar怎么用?C# StreamReader.ReadChar使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.IO.StreamReader
的用法示例。
在下文中一共展示了StreamReader.ReadChar方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadToken
private object ReadToken(StreamReader sr)
{
EatWhitespace(sr);
char c = sr.ReadChar();
switch (c)
{
case '{':
return ReadDict(sr);
case '/':
{
if (sr.PeekChar() == '/')
{
sr.ReadLine();
return null;
}
else
{
return ReadString(sr, c);
}
}
default:
return ReadString(sr, c);
}
}
示例2: EatWhitespace
private void EatWhitespace(StreamReader sr)
{
while (char.IsWhiteSpace(sr.PeekChar()))
{
sr.ReadChar();
}
}
示例3: ReadString
private string ReadString(StreamReader sr, char firstChar)
{
StringBuilder sb = new StringBuilder();
bool readToQuote = false;
if (firstChar == '"')
{
readToQuote = true;
}
else
{
sb.Append(firstChar);
}
while (true)
{
char c = sr.ReadChar();
if (char.IsWhiteSpace(c) && !readToQuote)
{
return sb.ToString();
}
else if (c == '"' && readToQuote)
{
return sb.ToString();
}
else if (c == '\\')
{
char escaped = sr.ReadChar();
switch (escaped)
{
case 'n':
sb.Append((char)0x0A);
break;
case 'r':
sb.Append((char)0x0D);
break;
default:
sb.Append(escaped);
break;
}
}
else
{
sb.Append(c);
}
}
}
示例4: ReadDict
private Dictionary<string, object> ReadDict(StreamReader sr)
{
Dictionary<string, object> dict = new Dictionary<string, object>(StringComparer.InvariantCultureIgnoreCase);
EatWhitespace(sr);
while (sr.PeekChar() != '}')
{
EatWhitespace(sr);
object keyToken = ReadToken(sr);
if (keyToken != null)
{
string key = (string)keyToken;
object value = ReadToken(sr);
dict.Add(key, value);
}
EatWhitespace(sr);
}
sr.ReadChar(); // eat the }
return dict;
}