相关疑难解决方法(0)

IEnumerable <char> to string

我以前从来没有偶然发现过这个问题,但我现在已经感到惊讶,因为我找不到一个非常简单的方法来转换IEnumerable<char>为a string.

我能想到的最好的方法是string str = new string(myEnumerable.ToArray());,但是,对我来说,似乎这会创造一个新的char[],然后string从中创造一个新的,这看起来很昂贵.

我认为这将是.NET框架内置的常用功能.有更简单的方法吗?

对于那些感兴趣的人,我想使用它的原因是使用LINQ来过滤字符串:

string allowedString = new string(inputString.Where(c => allowedChars.Contains(c)).ToArray());
Run Code Online (Sandbox Code Playgroud)

.net c# string ienumerable

136
推荐指数
6
解决办法
7万
查看次数

C#:限制字符串的长度?

我只是想知道如何限制C#中字符串的长度.

string foo = "1234567890";
Run Code Online (Sandbox Code Playgroud)

说我们有.我怎么能限制foo说5个字符?

c# arrays string limit

43
推荐指数
7
解决办法
14万
查看次数

如何将字符串限制为不超过一定长度?

我尝试了以下方法:

var Title = LongTitle.Substring(0,20)
Run Code Online (Sandbox Code Playgroud)

如果LongTitle的长度小于20,则无效.如何将字符串限制为最多20个字符,但如果它们只是例如5个字符,则不会出错?

c#

16
推荐指数
4
解决办法
3万
查看次数

无需函数即可将字符串直接限制为一定长度

不重复.

我想让一个字符串有一个最大长度.它永远不会超过这个长度.让我们说20个字符长度.如果提供的字符串> 20,则取前20个字符串并丢弃其余字符串.

这个问题的答案显示了如何使用函数限制字符串,但我想在没有函数的情况下直接执行.我希望每次写入字符串时都会发生字符串长度检查.

下面是我并不想这样做:

string myString = "my long string";
myString = capString(myString, 20); //<-- Don't want to call a function each time

string capString(string strToCap, int strLen)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我能用一个属性完成这个:

const int Max_Length = 20;
private string _userName;

public string userName
{
    get { return _userName; }
    set
    {
        _userName = string.IsNullOrEmpty(value) ? "" : value.Substring(0, Max_Length);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我可以轻松地使用它,而不是调用函数来限制它:

userName = "Programmer";
Run Code Online (Sandbox Code Playgroud)

这个问题是每个string我想要上限必须为它们定义多个变量.在这种情况下,_userNameuserName(属性)变量.

任何聪明的方法,不为每个字符串创建多个变量,同时,每次我想修改时都不必调用函数string …

c# unity-game-engine

13
推荐指数
2
解决办法
527
查看次数

如何在C#中删除String的最后一个char?

我有一个数字字符串,可能是"124322""1231.232""132123.00".我想删除我的字符串的最后一个字符(无论它是什么).如果我的字符串"99234"成为了我想要的"9923".

字符串的长度是可变的.它不是常数所以我不能使用string.Remove或trim或者像它们一样(我想).

我该如何实现这一目标?

c# string trim

12
推荐指数
2
解决办法
12万
查看次数

如何截断字符串以适应容器?

有很多的问题(比如:1,2,3,4,5),询问如何可以截断字符串的字符所需量.但我希望将一段文本截断以容纳在容器中.(IE:按字母宽度(以像素为单位)裁剪字符串,而不是字符.

如果你使用WPF这很容易,但在WinForms中却没有那么多......

那么:如何截断字符串以使其适合容器?

c# truncate winforms

8
推荐指数
1
解决办法
3911
查看次数

截断版本号C#

如果我的版本号有5位数字,例如"1.0.420.50.0",我怎么能把这个号码(和其他版本号码如"1.0.512.500.0")截断为4位数?"1.0.420.50.0" - >"1.0.420.50"

我更喜欢使用数组,但任何其他方法也可以使用!在此先感谢您的任何建议!

.net c# version

4
推荐指数
1
解决办法
790
查看次数

从字符串 C# 中删除 CRLF

我正在尝试将此从字符串中删除 CRLF 的 VBA 函数转换为必须执行相同结果的 C# 函数

Private Function RemoveCRLFFromString(ByVal pString As Variant) As String
Dim i As Integer
Dim c As String * 1

 If IsNull(pString) Then
    RemoveCRLFFromString = ""
 Else
    For i = 1 To Len(pString)
        c = Mid$(pString, i, 1)
        If Asc(c) <> 10 And _
           Asc(c) <> 13 Then
           RemoveCRLFFromString = RemoveCRLFFromString & c
        End If
    Next i
 End If


 RemoveCRLFFromString = Left$(RemoveCRLFFromString, 9)

End Function
Run Code Online (Sandbox Code Playgroud)

到目前为止,我想出了:

public static string RemoveCRLFFromString(string pString )
{
    if(String.IsNullOrEmpty(pString))
    { …
Run Code Online (Sandbox Code Playgroud)

c# string vba

2
推荐指数
1
解决办法
1万
查看次数

C#-如何缩短字符串

我有一段代码,我需要缩短变量中的字符串。我想知道我该怎么做。我的代码如下。

string test = Console.ReadLine();
if(string.Length > 5)
{
    //shorten string
}
Console.WriteLine(test);
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

c# string

-2
推荐指数
1
解决办法
6692
查看次数

标签 统计

c# ×9

string ×5

.net ×2

arrays ×1

ienumerable ×1

limit ×1

trim ×1

truncate ×1

unity-game-engine ×1

vba ×1

version ×1

winforms ×1