RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 553163
Accepted
YoFi
YoFi
Asked:2020-08-08 21:36:52 +0000 UTC2020-08-08 21:36:52 +0000 UTC 2020-08-08 21:36:52 +0000 UTC

跳过空行

  • 772

如何在行之间和行后忽略 TextFile 中的空行? 文本文件格式:
错误

2016-01-01 20:23;Work;5;чистка;5000.00  
2016-01-03 00:40;Custom;1;2;6;3

2016-01-03 00:41;Custom;1;1;10;1  

第 48 行if (element[1] == "Card")

这是代码本身:

public void SplitAndQuery(string path)
{
    char[] separatorLines = { '\n' };
    char[] separatorWords = { ';' };
    string[] lines = File.ReadAllText(path, Encoding.Default).Split(separatorLines, StringSplitOptions.RemoveEmptyEntries);
    for (int i = 0; i <= lines.Length - 1; i++)
    {
      string[] element = lines[i].Split(separatorWords, StringSplitOptions.RemoveEmptyEntries);

        if (element[1] == "Card")
        {
            if (checkCard(element[2]) == false)
            {
                insertCard(element[2], element[3], element[4], element[5], element[6], element[7], element[8]);

                if (checkDiscount(element[2]) == "-1")
                {
                    connection.Close();
                    MessageBox.Show("ups");
                }
                else
                {
                    insertDiscount(element[0],element[9]);
                }
            }
            else if (checkCard(element[2]) == true)
            {
                updateCard(element[3], element[4], element[5], element[6], element[7], element[8], element[2]);
                if (checkDiscount(element[2]) == "-1")
                {
                    connection.Close();
                    MessageBox.Show("ups");
                }
                else
                {
                    insertDiscount(element[0],element[9]);
                    connection.Close();
                }
            }
        }
c#
  • 3 3 个回答
  • 10 Views

3 个回答

  • Voted
  1. Best Answer
    Dmitry
    2020-08-10T00:04:57Z2020-08-10T00:04:57Z

    某些操作系统,例如 Microsoft Windows,使用回车CR( \r) 和换行LF( \n) 代码的组合作为换行符。要更正问题中给出的示例,添加符号就足够了\r

    char[] separatorLines = { '\r', '\n' };
    

    在我看来,更好的选择是使用Environment.NewLine 例如,像这样

    char[] separatorLines = Environment.NewLine.ToCharArray();
    
    • 2
  2. Эркин Мухамедкулов
    2020-08-10T00:07:44Z2020-08-10T00:07:44Z

    尝试添加支票

    string.IsNullOrEmpty(lines[i]){
    return;
    }
    

    紧接着

     for (int i = 0; i <= lines.Length - 1; i++)
    {
    
    • 2
  3. Вася Пупкин
    2020-08-10T14:53:30Z2020-08-10T14:53:30Z
    1. 从文本文件中读取所有行是不好的。为什么?去谷歌上查询。
    2. 如果您确切知道数据的结构,最好使用正则表达式。

    在您的特定问题中,第 48 行出现错误是因为您试图拆分一个空行。Split 方法如果在字符串中找不到分隔符,将返回一个包含 1 个元素的数组 - 原始字符串。然后在索引 2 处访问时,您将超出数组范围。为避免这种情况,只需通过 Length 属性检查 Split 后数组中的元素数。

    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何停止编写糟糕的代码?

    • 3 个回答
  • Marko Smith

    onCreateView 方法重构

    • 1 个回答
  • Marko Smith

    通用还是非通用

    • 2 个回答
  • Marko Smith

    如何访问 jQuery 中的列

    • 1 个回答
  • Marko Smith

    *.tga 文件的组重命名(3620 个)

    • 1 个回答
  • Marko Smith

    内存分配列表C#

    • 1 个回答
  • Marko Smith

    常规赛适度贪婪

    • 1 个回答
  • Marko Smith

    如何制作自己的自动完成/自动更正?

    • 1 个回答
  • Marko Smith

    选择斐波那契数列

    • 2 个回答
  • Marko Smith

    所有 API 版本中的通用权限代码

    • 2 个回答
  • Martin Hope
    jfs *(星号)和 ** 双星号在 Python 中是什么意思? 2020-11-23 05:07:40 +0000 UTC
  • Martin Hope
    hwak 哪个孩子调用了父母的静态方法?还是不可能完成的任务? 2020-11-18 16:30:55 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    Arch ArrayList 与 LinkedList 的区别? 2020-09-20 02:42:49 +0000 UTC
  • Martin Hope
    iluxa1810 哪个更正确使用:if () 或 try-catch? 2020-08-23 18:56:13 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5