使用盘古分词时出了问题

shijies 2023-08-10 11:07:43

以下代码可以编译通过,运行程序时却出现了一个提示框,显示:出现了一个问题,导致程序停止正常工作,请关闭该程序。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using PanGu;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            Segment.Init();
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string Original = richTextBox1.Text;// "盘古分词demo2";
            Segment segment = new Segment();
            ICollection < WordInfo > words = segment.DoSegment(Original);
                         string strs = "";
                        foreach (WordInfo v in words)
                             {
                strs += v.ToString() + "\r\n";
                             }
                  richTextBox2.Text = strs;

        }
    }
}

PanGu.xml存储于应用程序同一个目录中,Dict.dct也存储于这个目录中,并已经在PanGu.xml里修改了字典的路径。

...全文
207 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-08-10
精选
  • 打赏
  • 举报
回复
您的问题已经帮您同步至问答, 链接: https://ask.csdn.net/questions/7987462, 请您保持关注, 如果回答有帮助解决此问题, 麻烦您动动小手给相关的回答点赞, Ada会在评论区为您更新结题状态
shijies 2023-08-11
  • 打赏
  • 举报
回复

PanGu.xml中Dict.dct的路径已经修改过了。

shijies 2023-08-11
  • 打赏
  • 举报
回复

如果将button1_Click(object sender, EventArgs e)括号内的代码全部注销,仍然会出现这个问题,如果再将下面的语句注销:
Segment.Init();
就不会出现这个问题了。改成下面这样也不行,估计问题是出在了初始化阶段。
public Form1()
{

       Segment.Init(@"E:\net中文分词\测试盘古分词\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\pangu.xml");
        InitializeComponent();
    }
shijies 2023-08-10
  • 打赏
  • 举报
回复

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using PanGu;

namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
Segment.Init();
InitializeComponent();
}

    private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            string Original = richTextBox1.Text;// "盘古分词demo2";
            Segment segment = new Segment();
            ICollection<WordInfo> words = segment.DoSegment(Original);
            string strs = "";
            foreach (WordInfo v in words)
            {
                strs += v.ToString() + "\r\n";
            }
            richTextBox2.Text = strs;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex);     //这一行通不过编译
        }
    }
}

}

足球中国 2023-08-10
  • 打赏
  • 举报
回复

加个try catch看下哪个地方异常了
private void button1_Click(object sender, EventArgs e)
{
try{
string Original = richTextBox1.Text;// "盘古分词demo2";
Segment segment = new Segment();
ICollection < WordInfo > words = segment.DoSegment(Original);
string strs = "";
foreach (WordInfo v in words)
{
strs += v.ToString() + "\r\n";
}
richTextBox2.Text = strs;
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}

111,102

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧