小编Gra*_*ICA的帖子

为什么在写入 StreamWriter 时会得到 System.Collections.Generic.Dictionary`2?

我有这个代码:

        Console.Title = "System Reader";
        Console.WriteLine("Enter the Domain-Address <or local>:");
        string domain = Console.ReadLine();
        Console.Clear();
        string date = DateTime.Now.ToString("yyyy-MM-dd");
        string time = DateTime.Now.ToString("HH-mm-ss");
        double count = 1;
        string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "user_" + domain + "_" + date + "_" + time + ".txt");
        string ComputerName = Environment.MachineName;
        Console.Clear();
        if (domain == "local")
        {
            ObjectQuery user = new ObjectQuery("SELECT * FROM Win32_UserAccount WHERE LocalAccount = True");
            ManagementObjectSearcher userSearcher = new ManagementObjectSearcher(user);
            TextWriter tw = new StreamWriter(path);
            tw.Write("Account Type" + "\t" …
Run Code Online (Sandbox Code Playgroud)

c# dictionary streamwriter textwriter

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

尝试创建程序以反转字符串时出错

我在互联网上阅读的所有内容都让我觉得这个程序应该运行但我一直都会收到错误.错误说明:

"无法将类型'system.collections.generic.IEnumerable'隐式转换为'string'.存在隐式转换".

我错过了什么吗?

class Program
{
    static void Main(string[] args)
    {
        string entry;

        Console.Write("Input String: ");
        entry = Console.ReadLine();

        entry = entry.Reverse();
        //Error occurs here ^             

        Console.Write(entry);

        Console.ReadKey(); 
    }
}
Run Code Online (Sandbox Code Playgroud)

c# string reverse

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

在Winform中打开Crystal报表

我创建了一个水晶报表,然后在创建它之后,创建了一个winform,在其中导入了水晶报表库(以代码显示),并使用报表查看器来查看该报表,但是我无法查看该报表,代码,我是Crytal Reports的新手,我做的代码是:

码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;

namespace InventorySoftware
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            this.reportViewer1.RefreshReport();



        }

        private void button1_Click(object sender, EventArgs e)
        {
            //string ReportSources = "";
            ReportDocument cryRpt = new ReportDocument();
            cryRpt.Load("C:\\Users\\Ahsan\\Desktop\\PROJECT INVENTORY SOFTWARE\\InventorySoftware\\InventorySoftware\\CrystalReport1.rpt");
            reportViewer1.ReportSource = cryRpt;
            reportViewer1.Refresh();

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它给出了错误, reportViewer1.ReportSource = cryRpt; 错误是

Error   1   'Microsoft.Reporting.WinForms.ReportViewer' does …
Run Code Online (Sandbox Code Playgroud)

c# crystal-reports visual-studio-2008 winforms

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

从字符串中删除转义字符“\”

我需要从字符串变量中删除\字符:imagepth

imagepth = "# Eval(\"Name\",\"Gallary/\"" + imgwords[4] + "\"/Images/{0}\")";
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net escaping

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

使用正则表达式从字符串中提取单词

我有c#代码,其中我使用命令行运行perl文件并在ac#string中捕获该输出.我想使用正则表达式从该字符串中提取某个单词.我尝试了几种捕获特定单词的方法,但它没有用.

例如:下面的文本是在c#中的字符串中捕获的

CMD.EXE以上面的路径作为当前目录启动.
不支持UNC路径.默认为Windows目录.
初始化.
jsdns jsdnjs wuee uwoqw duwhduwd 9-8 is = COM10
uuwe sodks asjnjx

在上面的代码中我想提取COM10.同样,该值也可以更改为COM12或COM8或COM15.我将始终在文本中使用COM,但后续编号可以更改.

有人可以告诉我如何使用正则表达式.我使用了RegexOptions.Multiline,但我不确定如何去做.此外,如果包含解释,它将是有帮助的.

c# regex string

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

复制/粘贴证书指纹字符串时,为什么等同性检查失败?

我有两个证书指纹,从Microsoft管理控制台检索.

当我将值复制/粘贴到我的程序中,然后手动键入相同的值来执行相等性检查时,它们会失败.

有谁知道为什么,当粘贴字符串值时,它不会通过相等检查,但是当手动输入它时呢?据我所知,它们是相同的价值观,所以不应该都是真的吗?

public void DoSomething()
{
    const string thumbprint1  = "?1F279488F131074FC7B34B9AF6E6B087678404F2";
    const string thumbprint2  = "1F279488F131074FC7B34B9AF6E6B087678404F2";

    Debug.WriteLine("thumbprint1 = {0}\n", ("1F279488F131074FC7B34B9AF6E6B087678404F2" == thumbprint1));
    Debug.WriteLine("thumbprint2 = {0}\n", ("1F279488F131074FC7B34B9AF6E6B087678404F2" == thumbprint2));
}
Run Code Online (Sandbox Code Playgroud)

这是Visual Studio中比较结果的图像:

在此输入图像描述

c# string equality mmc

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

单击标题时在DataGridView中获取“索引超出范围”异常

我正在使用DataGridView来显示来自SQLite数据库的数据。一栏是打开分配给该行的pdf的目录。该代码有效,但是,每当我单击列标题时,都会出现错误:

索引超出范围。必须为非负数并且小于集合的大小。

实际上,每当我单击列文本(仅“ PDF”或任何其他列的文本)时,都会引发该错误。但是,当我在文本外部(在排序框中的任意位置)单击时,它会重新排列我的列,这没关系。有任何想法吗?

该代码有效,打开了PDF,但是我不希望用户意外单击标题文本而导致程序崩溃。这是datagridview打开pdf的代码。

  private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
    {
        string filename = dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString();
        if (e.ColumnIndex == 3 && File.Exists(filename))
        {
            Process.Start(filename);
        } 
   }
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

c# datagridview winforms indexoutofrangeexception

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

第一次迁移时实体框架代码首先是+ mysql System.NullReferenceException

我正在尝试使用MySQL数据库(ef代码第一种方法,VS 2013专业版).我按照这些说明操作.

我的问题是,在启用迁移后,我无法进行首次迁移.我使用命令Add-migration migrationName,我收到一个错误:

"System.NullReferenceException:对象引用未设置为对象的实例.在MySql的System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection连接)的MySql.Data.MySqlClient.MySqlProviderServices.GetDbProviderManifestToken(DbConnection连接)处.Data.Entity.MySqlManifestTokenResolver.ResolveManifestToken(DbConnection连接)...

你调用的对象是空的.".

我试图以这种方式解决它.但现在我发现了这个:

"这可能是因为没有为您正在使用的方案指定必需参数.例如,指定连接字符串而不指定提供程序名称."

所以问题可能出在我的连接字符串中.

我有来自VS> Server Explorer的连接字符串,我的数据库有"活动"连接.我查看了连接属性并将连接字符串复制到我的web.config中.

在我的项目中引用了MySql.Data,MySql.Data.Entity.EF6和MySql.Web.

任何人有任何想法我该怎么办?

c# mysql entity-framework ef-code-first ef-migrations

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

c# - 如何避免在c#MVC中与号(&amp;)被转换为&amp;

我使用 MVC 模型制作图像 url 并显示它。

我使图像网址是这样的:

        string baseURL = string.Format("https://abc/Work/LookPage?pbid={0}", model.ID);

        var builder = new UriBuilder(baseURL);
        var query = HttpUtility.ParseQueryString(builder.Query);
        query["pg"] = "1";
        query["isStage"] = "false";
        builder.Query = query.ToString();
        model.ImageUrls.Add(1, builder.ToString());
Run Code Online (Sandbox Code Playgroud)

我有一个名为 WorkController 的控制器

    [OutputCache(Duration = 600, VaryByParam = "*", Location = OutputCacheLocation.Client)]
    public virtual ActionResult LookPage(string pbid, int pg, bool? isbody, bool? isStage)
    {
        var ms = this.CreateLookPageImage(pbid, pg, isbody, isStage, false);

        if (ms == null)
            return HttpNotFound();

        return new FileStreamResult(ms, "image/jpeg");

    }
Run Code Online (Sandbox Code Playgroud)

在视图中,我是这样写的:

<a><img class="shadow" src="<%:Model.ImageUrls[1] %>"/></a>
Run Code Online (Sandbox Code Playgroud)

这实际上奏效了。但有时会出现此错误: …

c# asp.net-mvc

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

在Visual Studio中将GUI添加到现有代码

我在Visual Studio 2010中使用C#构建了一个应用程序,并且它已成功运行.假设代码文件名是program.cs

我想为应用程序构建一个简单的GUI,因此它比命令提示符更加用户友好.

最初,应用程序将在命令提示符中请求用户输入.我的目标是允许用户使用ComboBoxTextBox提供输入并点击执行按钮来启动程序.

我尝试了添加新项> Windows窗体,但是当我点击F5时,程序仍然在命令提示符下运行,看起来它只是忽略我刚刚创建的表单.当我注释掉整个program.cs文件并运行时,我得到一个错误,说没有" Main() "

我的问题是:实现目标的最佳/最简单方法什么?为了将表单链接到现有代码,我需要在代码中进行哪些更改?

另一个注意事项:目前用户可以将可执行文件运行到任何地方.完成上述目标后,我希望用户能够获取表单并在任何地方运行它.(我不确定可执行文件是否会运行表单而不是命令提示符,或者别的.我对此不太熟悉)

c# visual-studio-2010 winforms

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