相关疑难解决方法(0)

在C#中重复一个字符的最佳方法

什么\t是在C#中生成字符串的最佳方法

我正在学习C#并尝试不同的方式来说同样的事情.

Tabs(uint t)是返回的功能stringt的量\t

例如Tabs(3)返回"\t\t\t"

这三种实施方式中哪Tabs(uint numTabs)一种最好?

当然,这取决于"最佳"的含义.

  1. LINQ版本只有两行,很不错.但重复和聚合的调用是否会不必要地耗费时间/资源?

  2. StringBuilder版本是很清楚的,但是是StringBuilder类莫名其妙慢?

  3. string版本是基本的,这意味着它很容易理解.

  4. 这根本不重要吗?它们都是平等的吗?

这些都是帮助我更好地了解C#的问题.

private string Tabs(uint numTabs)
{
    IEnumerable<string> tabs = Enumerable.Repeat("\t", (int) numTabs);
    return (numTabs > 0) ? tabs.Aggregate((sum, next) => sum + next) : ""; 
}  

private string Tabs(uint numTabs)
{
    StringBuilder sb = new StringBuilder();
    for (uint i = 0; i < numTabs; i++)
        sb.Append("\t");

    return sb.ToString(); …
Run Code Online (Sandbox Code Playgroud)

.net c# string

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

270
推荐指数
11
解决办法
20万
查看次数

为什么要使用String.Format?

为什么有人会使用String.FormatC#和VB .NET而不是串联运算符(&在VB和+C#中)?

主要区别是什么?为什么每个人都如此感兴趣String.Format?我很好奇.

c# vb.net

168
推荐指数
5
解决办法
27万
查看次数

将List <int>转换为逗号分隔的字符串

有没有办法获取List并将其转换为逗号分隔的字符串?

我知道我可以循环并构建它,但不知怎的,我认为你们中的一些人更酷的做法呢?

我真的想学习这些类型的"技巧",所以请解释或链接到您使用的方法的文档.

c# collections

102
推荐指数
4
解决办法
7万
查看次数

.NET File.WriteAllLines在文件末尾留下空行

当我使用System.IO.File.WriteAllLines保存String []数组的内容时,在文件末尾总是留下一个空行.例如:

System.IO.File.WriteAllLines(Application.dataPath + "/test.txt",["a", "b", "c"]);
Run Code Online (Sandbox Code Playgroud)

生成文件(没有下划线):

a
b
c
_
Run Code Online (Sandbox Code Playgroud)

已经有这样一个主题:.Net File.WriteAllLines中的空行,是一个错误吗?但是,autor说"我认为我的数据存在问题,这是我的问题,但不是WritAllLines",它被关闭为"过于本地化"(?!?).

这是一个错误?我怎样才能轻松摆脱它(现在我只是在再次阅读文件时忽略它)?

.net arrays line

9
推荐指数
3
解决办法
7568
查看次数

为什么C#的String.Join一度不使用StringBuilder?

这里可以看出,其中一个String.Join重载与原始指针一起工作并使用一些叫做的东西UnSafeCharBuffer.为什么是这样?这是性能优化吗?

c# stringbuilder standard-library .net-standard

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

优化ASP.Net/C中的循环#

我写了一个循环来逐字显示每一行.问题是该列表包含更多45,000行,并且需要花费大量时间来创建用于显示的页面.

有人可以帮助优化代码!

        List<string> OverrrideLog = lc.getOverrideLog();
        List<string> AccessLog = lc.getAccessLog();

        foreach (string s in OverrrideLog)
            lblOverrideLog.Text += s + "<br/>";

        foreach (string s in AccessLog)
            lblAccessLog.Text += s + "<br/>";
Run Code Online (Sandbox Code Playgroud)

这里lblOverrideLog和lblAccessLog是文字,每个列表有超过22,000行.

c# asp.net optimization

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

字符串构建器的用途是什么?

我只做了C++和一些C#,我是MySQL新手,我不明白字符串构建器的用途.

此代码是程序的一部分,该程序用于从网页中提取数据并使用书签将其插入到现有的Word文件中.

我的代码

using System.Collections.Generic;
using System.Configuration;
using System.Text;
using MySql.Data.MySqlClient;

namespace ARExtractionLibrary
{
    public class DataExtractor
    {
        #region Attributes
        private string _databaseConfig = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        private const int AR_TRACKER_ID = 10;
        private const int AR_NUMBER_ID = 3;
        #endregion

        #region Methods
        public Dictionary<string, Field> GetFieldData(int TicketID)
        {
            MySqlConnection sqlConnection = new MySqlConnection(_databaseConfig);
            Dictionary<string, Field> fieldsDictionary = new Dictionary<string, Field>();

            StringBuilder queryDefaultFields = new StringBuilder();
            queryDefaultFields.Append("SELECT issues.id AS TicketID, issues.subject, issues.description, ");
            queryDefaultFields.Append(" CONCAT(users.firstname,' ', users.lastname) as Author");
            queryDefaultFields.Append(" FROM issues LEFT …
Run Code Online (Sandbox Code Playgroud)

.net c# mysql

4
推荐指数
2
解决办法
3897
查看次数

我可以使用LINQ更优雅地重写它吗?

我有一个double[][]我想要转换为CSV字符串格式(即一行中的每一行,以逗号分隔的行元素).我这样写的:

public static string ToCSV(double[][] array)
{
    return String.Join(Environment.NewLine,
                       Array.ConvertAll(array,
                                        row => String.Join(",",
                                                           Array.ConvertAll(row, x => x.ToString())));
}
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方式来使用LINQ编写这个?

(我知道,可以使用临时变量来使这看起来更好,但这种代码格式更好地传达了我正在寻找的东西.)

c# linq linq-to-objects

3
推荐指数
1
解决办法
1178
查看次数

StringBuilder是否仅在循环场景中首选?

我理解这StringBuilder是在循环中连接字符串的选择,如下所示:

List<string> myListOfString = GetStringsFromDatabase();
var theStringBuilder = new StringBuilder();

foreach(string myString in myListOfString)
{
    theStringBuilder.Append(myString);
}

var result = theStringBuilder.ToString();
Run Code Online (Sandbox Code Playgroud)

但是哪些场景StringBuilder表现优异String.Join(),反之亦然?

var theStringBuilder = new StringBuilder();
theStringBuilder.Append("Is this ");
theStringBuilder.Append("ever a good ");
theStringBuilder.Append("idea?");

var result = theStringBuilder.ToString();
Run Code Online (Sandbox Code Playgroud)

要么

string result = String.Join(" ", new String[]
            {
                "Or", "is", "this", "a", "better", "solution", "?"
            });
Run Code Online (Sandbox Code Playgroud)

任何指导将不胜感激.

编辑:是否有一个阈值,其中的创建开销StringBuilder是不值得的?

c# stringbuilder

3
推荐指数
1
解决办法
204
查看次数