在c#.aspx应用程序中使用LSET或RSET
本文关键字:LSET RSET aspx 应用程序 | 更新日期: 2023-09-27 18:22:27
我可能缺少一些明显的东西,但我似乎无法在c#代码隐藏页中使用LSET和RSET字符串函数。
我的代码如下:
string ts = LSet(someString, 16);
Visual Web开发程序无法识别LSet。
一位同事在相同的环境中做着相同类型的工作,只是他使用VB进行代码隐藏。我让他试试
他的代码如下:
Dim ts as String
ts = LSet(someString, 16)
这非常有效。
所以,我试着添加
using Microsoft.VisualBasic;
在我的c#页面中。LSet仍未被识别。
我做错了什么?LSet和RSet在c#中不可用吗?如果是,为什么?我知道PadLeft和PadRight是相似的,但如果字符串大于指定长度,它们不会剪切字符串,所以我仍然想使用LSet和RSet。
Dim ts as String
ts = LSet(someString, 16)
可以使用Strings.LSet
string ts="xxxx....";
var result = Strings.LSet(ts, 16)
可以通过使用String.Substring 来实现相同的效果
这是的实现
public static string LSet(string Source, int Length)
{
if (Length == 0)
{
return "";
}
if (Source == null)
{
return new string(' ', Length);
}
if (Length > Source.Length)
{
return Source.PadRight(Length);
}
return Source.Substring(0, Length);
}
public static string RSet(string Source, int Length)
{
if (Length == 0)
{
return "";
}
if (Source == null)
{
return new string(' ', Length);
}
if (Length > Source.Length)
{
return Source.PadLeft(Length);
}
return Source.Substring(0, Length);
}
或者只需将Microsoft.VisualBasic添加到引用中并使用该名称空间,您就会发现名为Strings的类,它有那些静态成员——实际上所有的vb字符串方法
在您的项目References中,您需要添加对Microsoft.VisualBasic程序集的引用。
using Microsoft.VisualBasic;
class Program
{
static void Main(string[] args)
{
var input = "123";
var length = 6;
var lSet = Strings.LSet(input, length);
var rSet = Strings.RSet(input, length);
// you could also have the same functionality
// without having to use LSet and RSet
var padR = input.Substring(0,
Math.Min(input.Length, length))
.PadRight(length, ' ');
var padL = input.Substring(0,
Math.Min(input.Length, length))
.PadLeft(length, ' ');
Console.WriteLine(lSet == padR);
Console.WriteLine(rSet == padL);
}
}
如果您想要pad或truncate语义;
string ts = someString.PadRight(len).Substring(0, len);