小编Ian*_*est的帖子

通过正则表达式替换循环

所以我有这个字符串[]:

string[] middleXMLTags = {"</Table1><Table2>", "</Table2><Table3>"};
Run Code Online (Sandbox Code Playgroud)

我想用它做这样的事情:

int i = 0;
foreach (regex where it finds the replacement string)
{
    response = Regex.Replace(response, "</Table><Table>", middleXMLTags[i]);
    i++;
}
response = Regex.Replace(response, "<Table>", <Table1>);
response = Regex.Replace(response, "</Table>", </Table3>);
Run Code Online (Sandbox Code Playgroud)

最后,我只是问是否有可能以某种方式循环a Regex,因此能够替换string存储在a中的不同值string[].它不一定是一个foreach循环,我知道这段代码很荒谬,但我听到它要求最清楚的问题.如果您有任何问题,请评论我.

谢谢你的帮助=)

c# regex

6
推荐指数
2
解决办法
3324
查看次数

试图上传到FTP:System.Net.WebException:系统错误

我有一个API,它接受XML并最终根据XML中的信息上传文件.上传按时间表(也来自XML),我测试了它周围的一切,并知道它的工作原理.

我在每个时间周期尝试上传的第一个文件上有大约40%的时间出现错误(某些文件的时间周期= 45分钟,其他文件的时间周期为30分钟).

这是我上传的代码:

try {
    LoggerFTP.Log("Uploading file: " + filename, false);

    // Create the request.
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(appSettingsFTP.ftpUrl + @"/" + filename);
    request.Method = WebRequestMethods.Ftp.UploadFile;
    request.Timeout = 6000000; //set to 100 minutes
    //request.Timeout = -1; //set to infinite

    // Add the login credentials.
    request.Credentials = new NetworkCredential(appSettingsFTP.ftpLogin, appSettingsFTP.ftpPassword);

    // Grab the file contents.
    StreamReader sourceStream = new StreamReader(appSettingsFTP.uploadFileDirectory + filename);
    byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
    sourceStream.Close();
    request.ContentLength = fileContents.Length;

    // Copy the file contents to the outgoing stream.
    Stream …
Run Code Online (Sandbox Code Playgroud)

c# ftp ftpwebrequest

6
推荐指数
1
解决办法
5683
查看次数

SqlTransaction支持多个SqlConnections

所以我有多个SqlConnections我想要在一个中使用SqlTransaction.我知道我只能使用一个连接,但最终在每个连接中都有大量新声明和无用(在连接完成后)变量,并且我需要程序尽可能快地保持.

我在using声明中有每个Connection .

我使用的是最新的.NET和SQL Server 2008 R2.

可能吗?

另外,我已经看过了:

如何在.NET中为多个SqlConnections使用单个SqlTransaction?

没有人回答这个问题,平台已经过时了.

c# sql sqltransaction

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

有没有更好的方法来组织这些数据而不是使用字符串数组?

我有两个循环从两个XML源提取数据:

循环1:

foreach (XmlNode nodes in node.ChildNodes)
            {
                if (nodes.Name == "DEFAULT")
                    defaults[count] = nodes.InnerText;
                if (nodes.Name == "TYPE"
                    types[count] = nodes.InnerText;
                if (nodes.Name == "COL_NAM"
                    names[count] = nodes.InnerText;

            }
            count++;
Run Code Online (Sandbox Code Playgroud)

循环2:

foreach (XmlNode nodes in root.ChildNodes)
        {
            vals[i] = nodes.InnerText;
            cols[i] = nodes.Name;
            i++;
        }
Run Code Online (Sandbox Code Playgroud)

不知何故,我想将这些数据组织成一个终极对象.该对象需要有4个部分:名称,类型,值和默认值.本质上,我想将Loop1中的所有内容组合在一起,然后将Loop2中的所有内容组合在一起,然后将这两个对象组合成一个对象,该对象与Loop1中的名称和来自Loop2的cols匹配.理想情况下,Loop2中的节点数量可能小于Loop1的节点数量.但是,如果那是不可能的,我可以解决它.

为了更好地了解最终对象:

object everything = {{names}, {types}, {values}, {defaults}};
Run Code Online (Sandbox Code Playgroud)

名称将来自BOTH循环,并将成为对象的"键".类型和默认值将来自Loop1,值将来自Loop2.串联将使用Name/Col匹配.

PS:我试图使用2D String数组来做这件事,但在尝试将两个匹配的cols和names字段组合时遇到了麻烦.

c# xml

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

默认等效于DBNull.Value

我试图在c#中将默认值传递给SQL Server.

此代码传递null.有没有办法通过默认?

foreach (SqlParameter Parameter in command.Parameters)
{
    if (Convert.ToString(Parameter.Value) == "")
    {
        Parameter.Value = DBNull.Value;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# sql null default

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

标签 统计

c# ×5

sql ×2

default ×1

ftp ×1

ftpwebrequest ×1

null ×1

regex ×1

sqltransaction ×1

xml ×1