144 lines
3.8 KiB
C#
144 lines
3.8 KiB
C#
using System;
|
|
|
|
namespace BingoBrain.Core
|
|
{
|
|
public static class StringExtend
|
|
{
|
|
private const string BoolTrueStr = "True";
|
|
private const string BooltrueStr = "true";
|
|
private const string BoolTRUEStr = "TRUE";
|
|
private const string BoolTrueNumStr = "1";
|
|
|
|
public static float ToFloat(this string str)
|
|
{
|
|
float temp = 0;
|
|
float.TryParse(str, out temp);
|
|
return temp;
|
|
}
|
|
|
|
public static double ToDouble(this string str)
|
|
{
|
|
double temp = 0d;
|
|
double.TryParse(str, out temp);
|
|
return temp;
|
|
}
|
|
|
|
public static byte ToByte(this string str)
|
|
{
|
|
byte temp = 0;
|
|
byte.TryParse(str, out temp);
|
|
return temp;
|
|
}
|
|
|
|
public static sbyte ToSByte(this string str)
|
|
{
|
|
sbyte temp = 0;
|
|
sbyte.TryParse(str, out temp);
|
|
return temp;
|
|
}
|
|
|
|
public static short ToShort(this string str)
|
|
{
|
|
short temp = 0;
|
|
short.TryParse(str, out temp);
|
|
return temp;
|
|
}
|
|
|
|
public static ushort ToUShort(this string str)
|
|
{
|
|
ushort temp = 0;
|
|
ushort.TryParse(str, out temp);
|
|
return temp;
|
|
}
|
|
|
|
public static int ToInt(this string str)
|
|
{
|
|
int temp = 0;
|
|
int.TryParse(str, out temp);
|
|
return temp;
|
|
}
|
|
|
|
public static uint ToUInt(this string str)
|
|
{
|
|
uint temp = 0;
|
|
uint.TryParse(str, out temp);
|
|
return temp;
|
|
}
|
|
|
|
public static long ToLong(this string str)
|
|
{
|
|
long temp = 0;
|
|
long.TryParse(str, out temp);
|
|
return temp;
|
|
}
|
|
|
|
public static ulong ToULong(this string str)
|
|
{
|
|
ulong temp = 0;
|
|
ulong.TryParse(str, out temp);
|
|
return temp;
|
|
}
|
|
|
|
public static bool ToBool(this string str)
|
|
{
|
|
return str == BoolTrueStr || str == BooltrueStr || str == BoolTRUEStr || str == BoolTrueNumStr;
|
|
}
|
|
|
|
public static object ToValueByType(this string str, string type)
|
|
{
|
|
switch (type)
|
|
{
|
|
case "float":
|
|
return str.ToFloat();
|
|
case "double":
|
|
return str.ToDouble();
|
|
case "byte":
|
|
return str.ToByte();
|
|
case "sbyte":
|
|
return str.ToSByte();
|
|
case "short":
|
|
return str.ToShort();
|
|
case "ushort":
|
|
return str.ToUShort();
|
|
case "int":
|
|
return str.ToInt();
|
|
case "uint":
|
|
return str.ToUInt();
|
|
case "long":
|
|
return str.ToLong();
|
|
case "ulong":
|
|
return str.ToULong();
|
|
case "bool":
|
|
return str.ToBool();
|
|
case "string":
|
|
return str;
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public static bool IsNullOrWhiteSpace(this string str)
|
|
{
|
|
return string.IsNullOrWhiteSpace(str);
|
|
}
|
|
|
|
#region Optimize
|
|
|
|
public static bool OptimizeStartsWith(this string str, string other)
|
|
{
|
|
return str.StartsWith(other, StringComparison.Ordinal);
|
|
}
|
|
|
|
public static bool OptimizeEndsWith(this string str, string other)
|
|
{
|
|
return str.EndsWith(other, StringComparison.Ordinal);
|
|
}
|
|
|
|
public static bool OptimizeEquals(this string str, string other)
|
|
{
|
|
return str.Equals(other, StringComparison.Ordinal);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |