C# DLL应用第三方DLL路径应该如何设置?

.NET技术 > C# [问题点数:100分]
等级
本版专家分:0
结帖率 90.3%
等级
本版专家分:187352
勋章
Blank
GitHub 绑定GitHub第三方账户获取
Blank
金牌 2015年9月 总版技术专家分月排行榜第一
2015年8月 总版技术专家分月排行榜第一
2015年7月 总版技术专家分月排行榜第一
2015年6月 总版技术专家分月排行榜第一
2015年5月 总版技术专家分月排行榜第一
2015年4月 总版技术专家分月排行榜第一
Blank
银牌 2016年1月 总版技术专家分月排行榜第二
2015年11月 总版技术专家分月排行榜第二
2015年10月 总版技术专家分月排行榜第二
Blank
优秀版主 优秀小版主
等级
本版专家分:0
等级
本版专家分:187352
勋章
Blank
GitHub 绑定GitHub第三方账户获取
Blank
金牌 2015年9月 总版技术专家分月排行榜第一
2015年8月 总版技术专家分月排行榜第一
2015年7月 总版技术专家分月排行榜第一
2015年6月 总版技术专家分月排行榜第一
2015年5月 总版技术专家分月排行榜第一
2015年4月 总版技术专家分月排行榜第一
Blank
银牌 2016年1月 总版技术专家分月排行榜第二
2015年11月 总版技术专家分月排行榜第二
2015年10月 总版技术专家分月排行榜第二
Blank
优秀版主 优秀小版主
等级
本版专家分:0
等级
本版专家分:23442
等级
本版专家分:35406
勋章
Blank
银牌 2018年2月 总版技术专家分月排行榜第二
Blank
红花 2018年2月 .NET技术大版内专家分月排行榜第一
Blank
黄花 2019年12月 .NET技术大版内专家分月排行榜第二
2019年5月 .NET技术大版内专家分月排行榜第二
2018年1月 .NET技术大版内专家分月排行榜第二
Blank
蓝花 2019年4月 .NET技术大版内专家分月排行榜第三
等级
本版专家分:70355
勋章
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Blank
名人 2019年 荣获名人称号
Blank
状元 2018年总版新获得的技术专家分排名第一
Blank
进士 2017年 总版技术专家分年内排行榜第四
2014年 总版技术专家分年内排行榜第四
2013年 总版技术专家分年内排行榜第四
2012年 总版技术专家分年内排行榜第六
vc_learner

等级:

C# 将引用的DLL文件放到指定的目录下

软件引用的DLL比较多的时候,全部的DLL都放在exe同目录下,显得比较乱而且不利于管理。为了更好的管理软件中的各种文件应该分门别类的放入相应的文件夹中。 下面是解决该问题的一种方法: 右键点击项目:属性-》...

如何控制C#引用DLL的位置

原文地址:  ... 想必C#的开发者都遇到过这个问题,引用的dll都放在根目录下,随着项目的日益增大,根目录下充满了各种各样的dll,非常的不美观。 如果能够把dll按照想要的目录来存放,

C# 中dllimport找不到路径问题 求高手指导!

用了一个第三方的dll库,结果总是报错说找不到dll路径,把路径改成绝对路径也不行 ![图片说明](https://img-ask.csdn.net/upload/201712/23/1513995938_571358.png) ![图片说明]...

C#实战023:解决添加xxx.dll的引用时报错,请确保xxx是有效的程序集或者COM组件

今天在引入第三方dll时弹出错误提示【未能添加对“xxx.dll”的引用。请确保此文件可访问并且是一个有效的程序集或者COM组件】,正常情况下在解决方案中添加引用:右键鼠标–>添加引用–>浏览–>选择xxx.dll...

c# 无法加载DLL“###.dll”,: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)

<br /> ...我这时就把Judge.dll拷贝到Bin目录下,但仍然提示找不到DLL,在工程里添加DLL引用的时候,发现添加这个非托管DLL就会令VS2005异常退出(上网搜索后也发现有人有相同的问题)。

C# 配置引用程序集的路径(分离exe和dll从指定路径调用)

问题:在开发较大的项目时,会引用很多其他项目的dll,而我们规划将不同类型的dll放在不同的功能目录下,此时我们通过反射动态加载时,出现System.IO.FileNotFoundException: 未能加载文件或程序集的问题。...

C#中DllImport用法和路径问题

DllImport是System.Runtime.InteropServices命名空间下的... DllImport属性应用于方法,要求最少要提供包含入口点的dll的名称。 DllImport的定义如下:[AttributeUsage(AttributeTargets.Method)] public class Dll

在Unity中引用Dll的两种方法

下面会介绍Unity中如何集成Dll的两种方法。 1. 标准引用 这里所使用的语言是C#。 1.1 新建C#类库项目,这里就不多介绍了。 1.2 项目建好后正常的编写代码。 以上是一个简单的测试代码。 1.3 将项目属性...

C#直接使用DllImport外部Dll的方法

C#.Net调用基本格式: [DLLImport(“DLL文件路径”)] 修饰符 extern 返回值类型 方法名称(参数列表) 如: [DllImport("kernel32.dll", SetLastError = true, EntryPoint = "SetLocalTime")] public static extern...

Unity3D中使用C#调用C++编写的DLL

但是有的时候我们需要运行一些第三方的程序,例如C++实现的一些算法。我们需要将C++的代码以DLL的形式嵌入到Unity3D的程序中。这时候就要用到C#调用C++ DLL的方法。本文给出一个最简单的调用方式,实现了一些简单...

C#自动实现Dll(OCX)控件注册的两种方法

C#自动实现Dll(OCX)控件注册的两种方法尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写。 当需要用到Dll引用的...

C#运行的时候提示“无法加载DLL(XXXX.dll)”,DllImport设置绝对路径后就不报错了。

C# 安装程序制作,如何添加第三方DLL以及自定义的文件夹(如uploadFiles 文件夹)

项目基本的安装程序制作,可参考: http://blog.csdn.net/kezhen/article/details/17732615 http://blog.csdn.net/kezhen/article/details/17732649 ... 添加第三方DLL,如下图,在安装

VS中添加第三方库及相对路径设置

对于一些第三方的SDK,一般会包含头文件(*.h),静态库文件(*.lib)和动态库文件(*.dll)。 1. 文件位置:为了提高程序的可移植性,将第三库放在解决方案(*.sln)或者工程(*.vcxproj)文件所在的文件夹下。而不要放在其他...

C#开发奇技淫巧:把dll放在不同的目录让你的程序更整洁

想必C#的开发者都遇到过这个问题,引用的dll都放在根目录下,随着项目的日益增大,根目录下充满了各种各样的dll,非常的不美观。 如果能够把dll按照想要的目录来存放,那么系统就美观多了,以下是我常用的程序各...

c#的dllimport使用方法详解

DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息 DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管...

C#调用openCV函数及其移植

众所周知,OpenCV是一个图形图像处理...首先,上某度查找“C#调用OpenCv”得到的结果大部分是关于EmguCv的使用。不得不说,EmguCv也是一个很好的工具,我在编码过程中也有用到。但是今天不是讲这个。——如果读者想要在

C#中DllImport用法汇总

最近使用DllImport,从网上google后发现,大部分内容都是相同,又...大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码

关于C#应用第三方控件dll的使用方法及常见问题

在引用第三方控件是需要先了解第三方所提供的方法,一个完整的引用还需要提供方给出二次开发方案。这些不用都说,对于不同项目可能用法也是不同具体问题具体分析! 第三方控件一般会与COM方式提供,我们需要导入到...

如何解决本地DLL 的PublicKey Token与项目需要的DLL的PublicKey Token不一致的问题

这个过程是这样的。有一个遗留的项目需要做一些修改,那么我就从TFS上把这个项目下载下来,用VisualStudio打开。编译时没有发现错误,直接运行。可是运行时就抛出了异常。 Could not load file or assembly 'log4net...

C# PDF书签操作,Spire.pdf.dll

C#操作PDF的方法很多,AbobeAcrobat的com组件,第三方iTextSharp.dll,PdfSharp.dll,Aspose.pdf.dll,Spire.pdf.dll等等,devexpress也有提供pdf的控件,在可视话方面,推荐使用devexpress,方便快捷。   Abobe ...

C#关于程序集生成失败【引用DLL及第三方DLL没有强名称的解决办法】

C#关于程序集生成失败及引用DLL及第三方DLL没有强名称,一个Assembly希望封装成为ActiveX/COM组件,那么它必须拥有强名(Strong Name),也就是说在编译的时候需要指定SNK(Strong Name Key);但是当一个Assembly...

第三方DLL的源代码引入到项目中

最近在维护一个项目的时候有这样一个问题,项目Solution A引用了第三方DLL文件,而我现在需要使用DLL类库的一些工具类,但是又没有相关的文档,所以我就需要Debug到DLL中进行调试查看代码的逻辑。开始的时候我想...

关于VS工程编译找不到DLL的解决办法 .

重装系统后又重装了VS2008 写了一个win32 console application的helloworld做测试,结果提示“找不到coredll.dll”,下载到该dll到system32下,又提示找不到mmvcr70.dll,mmvcp70.dll。全部下载后再次编译,提示...

在 Unity 工程 (Project) 中使用 DLL(动态库)

在 Unity 工程 (Project) 中使用 Mono DLL 通常,Unity 会在源发生变更时,将工程中的脚本作为源文件进行保存和编译。...在 Unity 中使用脚本通常比使用 DLL 更简单方便,但可能需要访问第三方提供的 DLL 格式的 Mo

编写C#调用的C++DLL

最近一段时间,经常遇到这些问题,前一阵子研究了一下,没有记...1、如果功能很简单,或者不使用第三方库(如MFC自带的库),建立一个win32的控制台程序就可以了,然后把项目生成改为DLL。值得一提的是,代码生成里面

C#下利用COM组件提供给第三方调用,无需强命名,通过CurrentDomain_AssemblyResolve方式的解决的过程

C#下利用COM组件提供给第三方调用,无需强命名,通过CurrentDomain_AssemblyResolve方式的来实现,WIN7\WINXP完美测试通过

VS 如何使用外部程序调试dll程序

假设:需要调试的程序ProDll,外部调用Dll的程序Proc,现在内部调试dll设置如下: 在"项目"----“属性”----“调试”----“命令”中输入 Proc.exe的输出路径

数据结构基础系列(8):查找

数据结构课程是计算机类专业的专业基础课程,在IT人才培养中,起着重要的作用。课程按照大学计算机类专业课程大纲的要求,安排教学内容,满足需要系统学习数据结构的人。系列课程包含11个部分,本课为第8部分查找,介绍查找的基本概念,重点是线性表上顺序查找、二分查找和分块查找,二叉排序树、AVL树和B-树的各种树表,以及哈希表查找。 系列课程的目标是帮助学习者系统掌握数据结构课程的相关知识,具备利用这些知识分析问题、解决问题的能力。课程提供视频、课件、例程、自测、实践要求、参考解答等整套的解决方案,帮助学习者达到目标。本课是系列课程中的第8部分,具体目标包括:理解查找的基本概念;掌握线性表上的顺序查找、二分查找和分块查找算法;掌握二叉排序树、AVL树和B-树等各种树表的查找算法;掌握哈希表查找技术。

深入浅出MySQL数据库开发、优化与管理维护

第1部分 基础篇  第1章 MySQL的安装与配置    1.1 MySQL的下载     1.1.1 在Windows平台下下载MySQL     1.1.2 在Linux平台下下载MySQL    1.2 MySQL的安装     1.2.1 在Windows平台下安装MySQL     1.2.2 在Linux平台下安装MySQL    1.3 MySQL的配置     1.3.1 Windows平台下配置MySQL     1.3.2 Linux平台下配置MySQL    1.4 启动和关闭MySQL服务     1.4.1 在Windows平台下启动和关闭 MySQL服务     1.4.2 在Linux平台下启动和关闭MySQL服务    1.5 小结 显示全部信息第1部分 基础篇  第1章 MySQL的安装与配置    1.1 MySQL的下载     1.1.1 在Windows平台下下载MySQL     1.1.2 在Linux平台下下载MySQL    1.2 MySQL的安装     1.2.1 在Windows平台下安装MySQL     1.2.2 在Linux平台下安装MySQL    1.3 MySQL的配置     1.3.1 Windows平台下配置MySQL     1.3.2 Linux平台下配置MySQL    1.4 启动和关闭MySQL服务     1.4.1 在Windows平台下启动和关闭MySQL服务     1.4.2 在Linux平台下启动和关闭MySQL服务    1.5 小结   第2章 SQL基础    2.1 SQL简介    2.2 (My)SQL使用入门     2.2.1 SQL分类     2.2.2 DDL语句     2.2.3 DML语句     2.2.4 DCL语句    2.3 帮助的使用     2.3.1 按照层次看帮助     2.3.2 快速查阅帮助     2.3.3 常用的网络资源    2.4 小结   第3章 MySQL支持的数据类型    3.1 数值类型    3.2 日期时间类型    3.3 字符串类型     3.3.1 CHAR和VARCHAR类型     3.3.2 BINARY和VARBINARY类型     3.3.3 ENUM类型     3.3.4 SET类型    3.4 小结   第4章 MySQL中的运算符    4.1 算术运算符    4.2 比较运算符    4.3 逻辑运算符    4.4 位运算符    4.5 运算符的优先级    4.6 小结   第5章 常用函数    5.1 字符串函数    5.2 数值函数    5.3 日期和时间函数    5.4 流程函数    5.5 其他常用函数    5.6 小结   第6章 图形化工具的使用    6.1 MySQLAdministrator     6.1.1 连接管理     6.1.2 健康检查     6.1.3 备份管理     6.1.4 Catalogs    6.2 MySQLQueryBrower    6.3 phpMyAdmin     6.3.1 数据库管理     6.3.2 数据库对象管理     6.3.3 权限管理     6.3.4 导入导出数据    6.4 小结  第2部分 开发篇  第7章 表类型(存储引擎)的选择    7.1 MySQL存储引擎概述    7.2 各种存储引擎的特性     7.2.1 MyISAM     7.2.2 InnoDB     7.2.3 MEMORY     7.2.4 MERGE    7.3 如何选择合适的存储引擎    7.4 小结   第8章 选择合适的数据类型    8.1 CHAR与VARCHAR    8.2 TEXT与BLOB    8.3 浮点数与定点数    8.4 日期类型选择    8.5 小结   第9章 字符集    9.1 字符集概述    9.2 Unicode简述    9.3 汉字及一些常见字符集    9.4 怎样选择合适的字符集    9.5 MySQL支持的字符集简介    9.6 MySQL字符集的设置     9.6.1 服务器字符集和校对规则     9.6.2 数据库字符集和校对规则     9.6.3 表字符集和校对规则     9.6.4 列字符集和校对规则     9.6.5 连接字符集和校对规则    9.7 字符集的修改步骤    9.8 小结   第10章 索引的设计和使用    10.1 索引概述    10.2 设计索引的原则    10.3 BTREE索引与HASH索引    10.4 小结   第11章 视图    11.1 什么是视图    11.2 视图操作     11.2.1 创建或者修改视图     11.2.2 删除视图     11.2.3 查看视图    11.3 小结   第12章 存储过程和函数    12.1 什么是存储过程和函数    12.2 存储过程和函数的相关操作     12.2.1 创建、修改存储过程或者函数     12.2.2 删除存储过程或者函数     12.2.3 查看存储过程或者函数     12.2.4 变量的使用     12.2.5 定义条件和处理     12.2.6 光标的使用     12.2.7 流程控制    12.3 小结   第13章 触发器    13.1 创建触发器    13.2 删除触发器    13.3 查看触发器    13.4 触发器的使用    13.5 小结   第14章 事务控制和锁定语句    14.1 LOCKTABLE和UNLOCKTABLE    14.2 事务控制    14.3 分布式事务的使用     14.3.1 分布式事务的原理     14.3.2 分布式事务的语法     14.3.3 存在的问题    14.4 小结   第15章 SQL中的安全问题    15.1 SQL注入简介    15.2 应用开发中可以采取的应对措施     15.2.1 PrepareStatementBind-variable     15.2.2 使用应用程序提供的转换函数     15.2.3 自己定义函数进行校验    15.3 小结   第16章 SQLMode及相关问题    16.1 MySQLSQLMode简介    16.2 常用的SQLMode    16.3 SQLMode在迁移中如何使用    16.4 小结  第3部分 优化篇  第17章 常用SQL技巧和常见问题    17.1 正则表达式的使用    17.2 巧用RAND()提取随机行    17.3 利用GROUPBY的WITHROLLUP子句做统计    17.4 用BITGROUPFUNCTIONS做统计    17.5 数据库名、表名大小写问题    17.6 使用外键需要注意的问题    17.7 小结   第18章 SQL优化    18.1 优化SQL语句的一般步骤     18.1.1 通过showstatus命令了解各种SQL的执行频率     18.1.2 定位执行效率较低的SQL语句     18.1.3 通过EXPLAIN分析低效SQL的执行计划     18.1.4 确定问题并采取相应的优化措施    18.2 索引问题     18.2.1 索引的存储分类      18.2.2 MySQL如何使用索引     18.2.3 查看索引使用情况    18.3 两个简单实用的优化方法     18.3.1 定期分析表和检查表     18.3.2 定期优化表    18.4 常用SQL的优化     18.4.1 大批量插入数据     18.4.2 优化INSERT语句     18.4.3 优化GROUPBY语句     18.4.4 优化ORDERBY语句     18.4.5 优化嵌套查询     18.4.6 MySQL如何优化OR条件     18.4.7 使用SQL提示    18.5 小结   第19章 优化数据库对象    19.1 优化表的数据类型    19.2 通过拆分提高表的访问效率    19.3 逆规范化    19.4 使用中间表提高统计查询速度    19.5 小结   第20章 锁问题    20.1 MySQL锁概述    20.2 MyISAM表锁     20.2.1 查询表级锁争用情况     20.2.2 MySQL表级锁的锁模式     20.2.3 如何加表锁     20.2.4 并发插入(ConcurrentInserts)     20.2.5 MyISAM的锁调度    20.3 InnoDB锁问题     20.3.1 背景知识     20.3.2 获取InnoDB行锁争用情况     20.3.3 nnoDB的行锁模式及加锁方法     20.3.4 InnoDB行锁实现方式     20.3.5 间隙锁(Next-Key锁)     20.3.6 恢复和复制的需要,对InnoDB锁机制的影响     20.3.7 InnoDB在不同隔离级别下的一致性读及锁的差异     20.3.8 什么时候使用表锁     20.3.9 关于死锁    20.4 小结   第21章 优化MySQLServer    21.1 查看MySQLServer参数    21.2 影响MySQL性能的重要参数     21.2.1 key_buffer_size的设置     21.2.2 table_cache的设置     21.2.3 innodb_buffer_pool_size的设置     21.2.4 innodb_flush_log_at_trx_commit的设置     21.2.5 innodb_additional_mem_pool_size的设置     21.2.6 innodb_lock_wait_timeout的设置     21.2.7 innodb_support_xa的设置     21.2.8 innodb_log_buffer_size的设置     21.2.9 innodb_log_file_size的设置    21.3 小结   第22章 磁盘I/O问题    22.1 使用磁盘阵列     22.1.1 常见RAID级别及其特性     22.1.2 如何选择RAID级别     22.1.3 虚拟文件卷或软RAID    22.2 使用SymbolicLinks分布I/O    22.3 禁止操作系统更新文件的atime属性    22.4 用裸设备(RawDevice)存放InnoDB的共享表空间    22.5 小结   第23章 应用优化    23.1 使用连接池    23.2 减少对MySQL的访问     23.2.1 避免对同一数据做重复检索     23.2.2 使用查询缓存     23.2.3 增加CACHE层    23.3 负载均衡     23.3.1 利用MySQL复制分流查询操作     23.3.2 采用分布式数据库架构    23.4 其他优化措施    23.5 小结  第4部分 管理维护篇  第24章 MySQL高级安装和升级    24.1 Linux/UNIX平台下的安装     24.1.1 安装包比较     24.1.2 安装RPM包     24.1.3 安装二进制包     24.1.4 安装源码包     24.1.5 参数设置方法    24.2 源码包安装的性能考虑     24.2.1 去掉不需要的模块     24.2.2 只选择要使用的字符集     24.2.3 使用静态编译以提高性能    24.3 升级MySQL    24.4 MySQL降级    24.5 小结   第25章 MySQL中的常用工具    25.1 mysql(客户端连接工具)     25.1.1 连接选项     25.1.2 客户端字符集选项     25.1.3 执行选项     25.1.4 格式化选项      25.1.5 错误处理选项    25.2 myisampack(MyISAM表压缩工具)    25.3 mysqladmin(MySQL管理工具)    25.4 mysqlbinlog(日志管理工具)    25.5 mysqlcheck(MyISAM表维护工具)    25.6 mysqldump(数据导出工具)    25.7 mysqlhotcopy(MyISAM表热备份工具)    25.8 mysqlimport(数据导入工具)    25.9 mysqlshow(数据库对象查看工具)    25.10 perror(错误代码查看工具)    25.11 replace(文本替换工具)    25.12 小结   第26章 MySQL日志    26.1 错误日志    26.2 二进制日志     26.2.1 日志的位置和格式     26.2.2 日志的读取     26.2.3 日志的删除     26.2.4 其他选项    26.3 查询日志     26.3.1 日志的位置和格式     26.3.2 日志的读取    26.4 慢查询日志     26.4.1 文件位置和格式     26.4.2 日志的读取     26.4.3 其他选项    26.5 小结   第27章 备份与恢复    27.1 备份/恢复策略    27.2 逻辑备份和恢复     27.2.1 备份     27.2.2 完全恢复     27.2.3 基于时间点恢复     27.2.4 基于位置恢复    27.3 物理备份和恢复     27.3.1 冷备份     27.3.2 热备份    27.4 表的导入导出     27.4.1 导出     27.4.2 导入    27.5 小结   第28章 MySQL权限与安全    28.1 MySQL权限管理     28.1.1 权限系统的工作原理     28.1.2 权限表的存取     28.1.3 账号管理    28.2 MySQL安全问题     28.2.1 操作系统相关的安全问题     28.2.2 数据库相关的安全问题    28.3 其他安全设置选项     28.3.1 old-passwords     28.3.2 safe-user-create     28.3.3 secure-auth     28.3.4 skip-grant-tables     28.3.5 skip-network     28.3.6 skip-show-database    28.4 小结   第29章 MySQL复制    29.1 安装配置    29.2 主要复制启动选项     29.2.1 log-slave-updates     29.2.2 master-connect-retry     29.2.3 read-only     29.2.4 指定复制的数据库或者表     29.2.5 slave-skip-errors    29.3 日常管理维护     29.3.1 查看从服务器状态     29.3.2 主从服务器同步维护     29.3.3 从服务器复制出错的处理     29.3.4 logevententryexceededmax_allowed_packet的处理     29.3.5 多主复制时的自增长变量冲突问题     29.3.6 查看从服务器的复制进度    29.4 切换主从服务器    29.5 小结   第30章 MySQLCluster    30.1 MySQLCluster架构    30.2 MySQLCluster的配置     30.2.1 MySQLCluster的版本支持     30.2.2 管理节点配置步骤     30.2.3 SQL节点和数据节点的配置    30.3 开始使用Cluster     30.3.1 Cluster的启动     30.3.2 Cluster的测试     30.3.3 Cluster的关闭    30.4 维护Cluster     30.4.1 数据备份     30.4.2 数据恢复     30.4.3 日志管理    30.5 小结   第31章 MySQL常见问题和应用技巧    31.1 忘记MySQL的root密码    31.2 如何处理MyISAM存储引擎的表损坏     31.2.1 方法一     31.2.2 方法二    31.3 MyISAM表超过4GB无法访问的问题    31.4 数据目录磁盘空间不足的问题     31.4.1 对于MyISAM存储引擎的表     31.4.2 对于InnoDB存储引擎的表    31.5 DNS反向解析的问题    31.6 mysql.sock丢失后如何连接数据库    31.7 同一台服务器运行多个MySQL数据库    31.8 客户端怎么访问内网数据库    31.9 小结

相关热词 c#创建非模态窗体 c#提取字符串中的数字 c# 扩展无返回类 c#网站如何做预览功能 c# 异步 返回值 c#chart实时曲线图 c# 窗体 隐藏 c#实现终端上下滑动 c# 传递数组 可变参数 c# list 补集