在c#-aspx应用程序中使用LSET或RSET
我可能遗漏了一些明显的东西,但我似乎无法在c代码隐藏页面中使用LSET和RSET字符串函数 我的代码如下:在c#-aspx应用程序中使用LSET或RSET,c#,string,C#,String,我可能遗漏了一些明显的东西,但我似乎无法在c代码隐藏页面中使用LSET和RSET字符串函数 我的代码如下: string ts = LSet(someString, 16); Visual Web Developer不识别LSet 一个同事在相同的环境中做相同类型的工作,除了他使用VB进行代码隐藏。我请他试一试 他的代码如下: Dim ts as String ts = LSet(someString, 16) 这很好用 因此,我试图添加 using Mic
string ts = LSet(someString, 16);
Visual Web Developer不识别LSet
一个同事在相同的环境中做相同类型的工作,除了他使用VB进行代码隐藏。我请他试一试
他的代码如下:
Dim ts as String
ts = LSet(someString, 16)
这很好用
因此,我试图添加
using Microsoft.VisualBasic;
在我的网页上。LSet仍然未被识别
我做错了什么?LSet和RSet在c#中不可用吗?若然,原因为何?
我知道PadLeft和PadRight是相似的,但如果字符串大于指定长度,它们不会剪切字符串,因此我仍然希望使用LSet和RSet。在项目引用中,您需要添加对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);
}
}
在项目引用中,需要添加对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);
}
}
可以使用
可以通过使用
可以使用
使用可以实现同样的效果这是实现
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字符串方法
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字符串方法如果您需要pad或truncate语义
string ts = someString.PadRight(len).Substring(0, len);
如果需要填充或截断语义
string ts = someString.PadRight(len).Substring(0, len);
它们是可用的,但您需要预先设置它们所在的模块,在本例中为
字符串。换句话说就是这样Strings.LSet(someString,16)
。虽然您可能应该使用子字符串
(C#方法)。好的,这很明显,我错过了:)。成功了LSet(someString,10)
比someString.PadRight(10).Substring(0,10)
更容易编写,但最重要的是,我想了解我做错了什么。非常感谢您的快速回答。快速提示:它知道这类事情(我不知道它在Strings
模块中,所以我刚刚输入了LSet(someString,16)
,它将其转换为Strings.LSet(someString,16)
对我来说。对于像这样的小例子,你只需要知道某些东西在哪个模块中,像这样的工具是非常宝贵的。对于更复杂的代码,你可能需要手动翻译。另外,如果LSet
设置字符串的长度(我不是VB高手),你可以简单地执行str.PadRight(10-str.length)
(假设你知道它太长了),或者str.Length>=10:str.Substring(10):str.PadRight(10-str.Length)
。至少对我来说,这可以理解代码的作用^^^它们是可用的,但是你需要预先设置它们所在的模块,在本例中是Strings
。换句话说;Strings.LSet(someString,16)
。虽然您可能应该使用子字符串
(C#方法)。好的,这很明显,我错过了:)。它起作用了。LSet(someString,10)
比someString.PadRight(10)子字符串(0,10)更容易编写
但最重要的是,我想知道我做错了什么。非常感谢你的快速回答。快速提示:它知道这类事情(我不知道它在字符串模块中,所以我只输入了LSet(someString,16)
,它将其转换为Strings.LSet(someString,16)
对我来说。对于像这样的小例子,你只需要知道某些东西在哪个模块中,像这样的工具是非常宝贵的。对于更复杂的代码,你可能需要手动翻译。另外,如果LSet
设置字符串的长度(我不是VB高手),你可以简单地执行str.PadRight(10-str.length)
(假设你知道它太长了),或者str.Length>=10:str.Substring(10):str.PadRight(10-str.Length)
。至少对我来说,这会让代码的功能变得易懂^^