小编ehh*_*ehh的帖子

选择数据表的某些列

我有一个数据表,想知道我是否可以选择某些列并在表格上输入数据.列列出如下

| col1 | col2 | col3 | col4 | col5 | col6 | col7 | col8 | col9 | col10 | col11 |

我想选择列col1,col2 col6,col7,col3.并在数据表中的行的网格视图中显示数据..当前我正在使用的代码在下面并且onmly选择某些数据.我不是从sql中选择数据,而是从另一个存储在数据表中的excel中选择数据..但是我也需要另一个区域中的其他列...这个数据被写入一个表中的单词

 for (int i = 1; i < table.Rows.Count; i++)
            {
                for (int j = 0; j < table.Columns.Count; j++)
                {
                    if (j == 0)
                    {
                        val = filteredData.Rows[row][col].ToString();
                    }
                    else
                    {
                        val = filteredData.Rows[row][col].ToString();

                        if (val == "-" || val == "")
                        {
                            val = filteredData.Rows[row][col].ToString();

                        }
                        else
                        {
                            val = Convert.ToString(Math.Round(Convert.ToDouble(filteredData.Rows[row][col]), MidpointRounding.AwayFromZero));

                        } …
Run Code Online (Sandbox Code Playgroud)

c# datatable

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

截至今天,使用COM对象的正确方法是什么?

这是一个非常常见的问题,我决定问这个问题,因为这个问题在今天可能会有不同的答案.希望这些答案有助于理解使用COM对象的正确方法.就个人而言,在对此主题发表不同意见后,我感到非常困惑.

在过去的5年中,我曾经使用COM对象,规则对我来说非常清楚:

  1. 在代码行中使用单个句点.使用多个句点在场景后面创建无法明确释放的临时对象.
  2. 不要使用foreach,而是使用for循环,并在每次迭代时释放每个项目
  3. 不要调用FInalReleaseComObject,而是使用ReleaseComObject.
  4. 不要使用GC释放COM对象.GC意图主要用于调试用法.
  5. 以与创建对象相反的顺序释放对象.

你们中的一些人在阅读完最后一行后可能会感到沮丧,这就是我所知道的如何正确创建/发布Com对象,我希望能得到更清晰无误的答案.

以下是我在这个主题上找到的一些链接.他们中的一些人告诉他们需要调用ReleaseComObject而其中一些不需要.

"...在VSTO场景中,您通常不必使用ReleaseCOMObject......."

"...您应该使用此方法释放包含引用的基础COM对象......"

更新:

这个问题被标记为过于宽泛.根据要求,我将尝试简化并提出更简单的问题.

  1. 使用COM对象或调用GC是否正确时,是否需要ReleaseComObject?
  2. VSTO方法是否会改变我们以前使用COM对象的方式?
  3. 我写的上述哪些规则是必需的,哪些是错的?还有其他人吗?

.net c# vb.net com excel

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

C#6.0中的只读属性

Microsoft在C#6中引入了一种新语法,允许您将属性设置为只读,如下所示:

public class Animal
{
    public string MostDangerous { get; } = "Mosquito";
}
Run Code Online (Sandbox Code Playgroud)

我想知道这种方法的附加价值是什么.

写作有什么区别:

public class Animal
{
    public const string MostDangerous = "Mosquito";
}
Run Code Online (Sandbox Code Playgroud)

甚至:

public class Animal
{
    public string MostDangerous 
    { 
        get
        {
            return "Mosquito";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# properties c#-6.0

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

Environment.Exit需要很长时间才能关闭应用程序

我想解决一个我不清楚的问题.呼叫时Environment.Exit(0),关闭应用程序大约需要22秒.

if (AppDomain.CurrentDomain.IsDefaultAppDomain())
{
    Environment.Exit(exitCode);
}
Run Code Online (Sandbox Code Playgroud)

你知道幕后发生了什么吗?我可能会抛出异常,但我检查了"例外"对话框中的所有复选框.

c# environment

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

将列表参数作为 ref 传递

在 C# 中将列表作为参数作为 ref 传递有什么好处?List 不是值类型,因此对它所做的每个更改都会在返回函数后反映出来。

class Program
{
    static void Main(string[] args)
    {
        var myClass = new MyClass();
        var list = new List<string>();
        myClass.Foo(ref list);

        foreach (var item in list)
        {
            Console.WriteLine(item);
        }
    }
}

class MyClass
{
    public void Foo(ref List<string> myList)
    {
        myList.Add("a");
        myList.Add("b");
        myList.Add("c");
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以删除“ref”,它会正常工作。所以我的问题是我们需要为列表、数组添加 ref 关键字有什么用途......谢谢

c# list ref

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

使用命令行打印特定的 PDF 页面

我在Windows平台上工作。

可以在特定页面打开 PDF 文件:

AcroRd32.exe /A "page=3" "file.pdf"
Run Code Online (Sandbox Code Playgroud)

是否有类似的解决方案来打印特定页面?就像是:

AcroRd32.exe /P "page=3" "file.pdf"
Run Code Online (Sandbox Code Playgroud)

windows printing pdf shell command-line

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

TFS回滚与"获取此版本"

Rollback和"获取此版本"之间有什么区别?

他们两个让我回到一个特定的版本,并从那里做更改和登记.

同时拥有它们有什么额外的好处?

version-control tfs visual-studio tfvc tfs-2015

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

创建目录不会将Exists属性更新为true

我有以下示例代码。

private DirectoryInfo PathDirectoryInfo
{
    get
    {
        if (_directoryInfo == null)
        {
            // Some logic to create the path
            // var path = ...
            _directoryInfo = new DirectoryInfo(path);
        }
        return _directoryInfo;
    }
}

public voide SaveFile(string filename)
{
    if (!PathDirectoryInfo.Exists)
    {
         PathDirectoryInfo.Create();
    }

     // PathDirectoryInfo.Exists returns false despite the folder has been created.
     bool folderCreated = PathDirectoryInfo.Exists;  // folderCreated  == false

    // Save the file
    // ...
}
Run Code Online (Sandbox Code Playgroud)

根据MSDN

Exists属性:如果文件或目录存在,则为true;否则为false。否则为假。

创建目录后,为什么Exists返回false?我想念什么吗?

c# io directoryinfo fileinfo

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

SandCastle 帮助文件生成器:搜索不起作用

我刚刚下载了最新版本的 Sancastle Help File Builder 2017.1.28.0。根据这篇文章的答案和评论,我希望搜索能够正常工作,但它没有。无论我要搜索什么,我都会收到“未找到”消息。顺便说一句,我没有生成任何 aspx 文件。

我尝试使用 Google Chrome 浏览器

我是否错过了任何项目配置?

我怎样才能使搜索工作?

.net documentation sandcastle search visual-studio

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

主构造函数未在C#6.0中编译

我试图在C#6.0中编写一个主要构造函数新功能的简单示例,但我无法编译它.我已将语言版本更改为c#6.0但它仍然无效.

在此输入图像描述

public class Person (string fName, string lName)
{
    public string FName { get; private set; } = fName;
    public string LName { get; private set; } = lName;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能编译?

c# c#-6.0 primary-constructor

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