updated StringEx to 0.2, in favor of s.NonWhiteSpaceLines()

This commit is contained in:
Licshee
2016-02-06 15:03:52 +08:00
parent 732866c095
commit a8ffc60d31
5 changed files with 47 additions and 10 deletions
+2 -3
View File
@@ -18,10 +18,9 @@ namespace Shadowsocks.Controller
{
using (var sr = new StringReader(Resources.cn))
{
string line;
while ((line = sr.ReadLine()) != null)
foreach (var line in sr.NonWhiteSpaceLines())
{
if (line.BeginWith('#'))
if (line[0] == '#')
continue;
var pos = line.IndexOf('=');
@@ -42,8 +42,7 @@ namespace Shadowsocks.Controller
string local = File.ReadAllText(PACServer.USER_RULE_FILE, Encoding.UTF8);
using (var sr = new StringReader(local))
{
string rule;
while ((rule = sr.ReadLine()) != null)
foreach (var rule in sr.NonWhiteSpaceLines())
{
if (rule.BeginWithAny(IgnoredLineBegins))
continue;
@@ -100,8 +99,7 @@ namespace Shadowsocks.Controller
List<string> valid_lines = new List<string>();
using (var sr = new StringReader(content))
{
string line;
while ((line = sr.ReadLine()) != null)
foreach (var line in sr.NonWhiteSpaceLines())
{
if (line.BeginWithAny(IgnoredLineBegins))
continue;
@@ -457,8 +457,7 @@ namespace Shadowsocks.Controller
string local = File.ReadAllText(PACServer.USER_RULE_FILE, Encoding.UTF8);
using (var sr = new StringReader(local))
{
string rule;
while ((rule = sr.ReadLine()) != null)
foreach (var rule in sr.NonWhiteSpaceLines())
{
if (rule.BeginWithAny(IgnoredLineBegins))
continue;
+41
View File
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
@@ -26,6 +27,17 @@ static partial class StringEx
public static bool IsNullOrWhiteSpace(this string value)
=> string.IsNullOrWhiteSpace(value);
public static bool IsWhiteSpace(this string value)
{
foreach(var c in value)
{
if (char.IsWhiteSpace(c)) continue;
return false;
}
return true;
}
#if !PCL
public static string IsInterned(this string value)
{
@@ -135,6 +147,35 @@ static partial class StringEx
#endregion
#region ToLines
public static IEnumerable<string> ToLines(this TextReader reader)
{
string line;
while ((line = reader.ReadLine()) != null)
yield return line;
}
public static IEnumerable<string> NonEmptyLines(this TextReader reader)
{
string line;
while ((line = reader.ReadLine()) != null)
{
if (line == "") continue;
yield return line;
}
}
public static IEnumerable<string> NonWhiteSpaceLines(this TextReader reader)
{
string line;
while ((line = reader.ReadLine()) != null)
{
if (line.IsWhiteSpace()) continue;
yield return line;
}
}
#endregion
#region others
private static readonly char[][] Quotes = new[]
+1 -1
View File
@@ -8,6 +8,6 @@
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net40-client" />
<package id="Microsoft.Net.Http" version="2.0.20710.0" targetFramework="net4-client" />
<package id="Newtonsoft.Json" version="8.0.2" targetFramework="net40-client" />
<package id="StringEx" version="0.1.1" targetFramework="net40-client" />
<package id="StringEx" version="0.2" targetFramework="net40-client" />
<package id="System.Net.Http" version="2.0.20710.0" targetFramework="net40-client" />
</packages>