小编Kev*_*vin的帖子

为什么在不指定长度的情况下将文本转换为varchar会将文本截断为30个字符?

我正在搜索MS-SQL Server 2005数据库,以确保某个文本字段始终是8的倍数.当我运行以下查询时,我得到了几行长度为30.但是当我调查这些记录时,我发现它们比那些长.

select distinct len(cast(textfield as varchar)) from tablename
Run Code Online (Sandbox Code Playgroud)

但是,如果我将varchar的长度指定为更长的时间(如下面的查询中所示),则它可以正常工作.

select distinct len(cast(textfield as varchar(1000))) from tablename
Run Code Online (Sandbox Code Playgroud)

任何人都知道它为什么默认为30,如果这是一个可配置的设置?

sql-server varchar text casting

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

为什么双引号 urlencode 为 %22?

据我所知,URL编码的存在是因为URL只支持ASCII编码。但既然"已经在 ASCII 表中了,为什么还要像%22URL 编码那样进行编码呢?

html encode urlencode

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

为什么我收到此错误:"跨线程操作无效:控制从其创建的线程以外的线程访问的lbFolders."?

这让我感到困惑,也许有人可以用我的无知来照亮教育之光.这是在C#windows应用程序中.我从一个线程访问列表框的内容.当我尝试像这样访问它

prgAll.Maximum = lbFolders.SelectedItems.Count;
Run Code Online (Sandbox Code Playgroud) 我收到了错误.但是,这是我没有得到的部分.如果我注释掉那一行,那就是下一行
foreach (string dir in lbFolders.SelectedItems)
Run Code Online (Sandbox Code Playgroud) 执行得很好.

编辑:像往常一样,我缺乏沟通技巧.让我澄清一下.

我知道从除了创建它们之外的线程访问GUI项会导致问题.我知道访问它们的正确方法是通过委托.

我的问题主要在于:为什么我可以正常访问和迭代SelectedItems对象,但是当我尝试获取(未设置)它的Count属性时,它会爆炸.

.net c# multithreading

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

我应该扩展到Flex还是Flash?

我是一个想要扩展的C#开发人员.我想试试flex或flash.有关哪些建议和原因?

apache-flex flash

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

如何从C#中的文件中删除所有字符实例?

我正在处理来自第三方的XML文件.这些文件偶尔会在其中包含无效字符,从而导致XMLTextReader.Read()异常.

我目前使用以下函数处理此问题:

XmlTextReader GetCharSafeXMLTextReader(string fileName)
{
    try
    {
        MemoryStream ms = new MemoryStream();
        StreamReader sr = new StreamReader(fileName);
        StreamWriter sw = new StreamWriter(ms);
        string temp;
        while ((temp = sr.ReadLine()) != null)
            sw.WriteLine(temp.Replace(((char)4).ToString(), "").Replace(((char)0x14).ToString(), ""));

        sw.Flush();
        sr.Close();
        ms.Seek(0, SeekOrigin.Begin);
        return new XmlTextReader(ms);
    }
    catch (Exception exp)
    {
        throw new Exception("Error parsing file: " + fileName + " " + exp.Message, exp.InnerException);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的直觉是说应该有一个更好/更快的方法来做到这一点.(是的,让第三方修复他们的XML会很棒,但目前还没有发生.)

编辑:这是最终解决方案,基于cfeduke的答案:


    public class SanitizedStreamReader : StreamReader
    {
        public SanitizedStreamReader(string filename) : base(filename) { }
        /* …
Run Code Online (Sandbox Code Playgroud)

.net xmltextreader

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

需要说明算法搜索最小的大和

我正在按惯例解决Codility问题,但无法回答其中一个问题。我在Internet上找到了答案,但是我不知道该算法的工作原理。有人可以逐步指导我吗?这是问题:

 /*
  You are given integers K, M and a non-empty zero-indexed array A consisting of N integers.
  Every element of the array is not greater than M.
    You should divide this array into K blocks of consecutive elements.
    The size of the block is any integer between 0 and N. Every element of the array should belong to some block.
    The sum of the block from X to Y equals A[X] + A[X + 1] + ... + A[Y]. …
Run Code Online (Sandbox Code Playgroud)

java arrays algorithm

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

需要一个正则表达式来匹配三个字符串

我通常远离,regular expressions因为我很少找到他们的好用.但在这种情况下,我认为我没有选择.

我需要一个正则表达式来处理以下情况.我将看三个字符串.如果第一个字符是1-9 or the letters o,n,d (lower or upper) AND,则第二个字符是1,2 or 3第三个字符,它将匹配0-9.

有人可以帮帮我吗?

regex

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

ZIP文件的EOF标记是什么?

我有一个使用SharpZIPlib解压缩一些zip文件的C#程序?它工作正常,但在一个文件,我不断收到"意外的EOF"错误?实际上是否有EOF标记,或Zip文件是否被截断?

c# zip file-format eof

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