• [问题求助] 桌面应用自动化获取C#的DataGridView元素内文本
    请问,想要获取到DataGridView表格内的所有内容,是否存在一次性获取表格内所有内容的方式,由于是数据是动态的所以无法去循环遍历表格内每一个单元格的内容,还请各位大佬们支支招,万般感谢!!!
  • [问题求助] 桌面应用自动化获取C#的DataGridView元素内文本
    请问,想要获取到DataGridView表格内的所有内容,是否存在一次性获取表格内所有内容的方式,由于是数据是动态的所以无法去循环遍历表格内每一个单元格的内容,还请各位大佬们支支招,万般感谢!!!
  • [问题求助] C# 用HWPuSDK配置M2241-QL摄像头 OSD
    镜头型号:M2241-QL软件版本:SDC_3519A_8.0.2.SPC119HWPuSDK版本:SDC Development Kit 8.0.RC3网页可以设置OSD水印距离左上,左下,右上,右下多少个像素,字体大小可以手动输入大小问题:C# 用HWPuSDK 怎么实现?使用 IVS_PU_GetOsdTextExV3 获取OSD修改文字以后 使用IVS_PU_SetOsdTextExV3 ,OSD位置与大小就就都变样了有没有配置OSD方面的demo呢?
  • [技术干货] C#使用lambda合并列表中列表【转载】
    今天的做C#项目时,突然要对list列表的列表进行合并汇总,哈哈,写linq和lambda不多,试过几个方法都不行.具体代码如下就是对List<Coio> list中的列表ReportItems进行合并!一般情况下,如果是两个list列表,直接是union即可,但是现在List中的列表呢.当然用最简单的方法就遍历这个list,然后对列表进行AddRange即可,如下代码var list = new List<Coio>();for (int i = 0; i < 10; i++){list.Add(new Coio());}var listItem = new List<ReportItem>();foreach (var item in list){listItem.AddRange(item.ReportItems);}方法自然是没问题了,但就是想有没有更简单的.其实你想到的,微软也想到了.用SelectMany方法即可: var listResult = list.SelectMany(n => n.ReportItems).ToList();看看是不是原来四五行代码,现在就一行代码就解决了~转载自https://www.home1024.com/article/union-a-list-of-lists.html
  • [问题求助] 【SDC Development Kit Demo 8.0.T9 】试图加载不正确的模块问题-C#
    【功能模块】SDC Development Kit Demo 8.0.T9 中C#demo--实况+云镜控制(Live Video + PTZ Control)引用IPC SDK V200R002C00SPC616_sdksIPC SDK V200R002C00SPC628_sdkSDC Development Kit 8.0.RC3_sdk【操作步骤&问题现象】1、运行报错2、找不到制定模块,3、请问需要加载哪个SDK,这个sdk不对【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] C# 创建Bucket报错 签名不匹配
    The request signature we calculated does not match the signature you provided. Check your key and signing method.
  • [热门活动] 【一行代码秒上云应用开发实训营】C#项目上云实践反馈帖
    *学习敏捷上云开发要点,提升就业机会**体验Java,Node.JS,C#真实应用上云开发案例**收获华为无线耳机、拍立得、机械键盘、京东卡等丰富好礼* △适合人群:对敏捷DevOps开发有转型需求,渴望提升云上研发能力的开发者△活动时间:2022.5.16-2022.6.30△活动参与方式: 报名活动:点此链接,填写报名表即完成报名,点此了解活动详细规则;加入学习社群:完成本报名后请务必扫码进入学习群,专家全程跟踪辅导,伙伴比肩共同进步; 完成学习任务,赢取积分奖励本帖为C#项目上云实践“C#上云体验:云上部署超级冷笑话网站”截图回复帖,如实验顺利完成,只提交部署成功的截图即可。请按实验手册示例进行截图,截图右上角露出华为云账号,将截图回复至本帖。如无法完成实验,做到哪一步提交哪一步的截图即可,将根据实验完成进度奖励积分。回复要求:华为云账号+截图加油~~ 
  • [问题求助] 【D2120-10-SIU】【IVS_PU_GetAlarmPara】C#中如何使用IVS_PU_GetAlarmPara
    C#中如何使用IVS_PU_GetAlarmPara?参数IntPtr arg该如何传入呢?需要怎样转换?
  • [热门活动] C#、TypeScript 之父 Anders Hejlsberg:“会用 Excel 的,都是程序员 ”[转载]
    原文链接:https://thenewstack.io/microsofts-programming-language-czar-anders-hejlsberg-the-interview/                 https://blog.csdn.net/m0_66023967/article/details/123068356?spm=1000.2115.3001.5927Anders Hejlsberg是世界上最重要的计算机程序员之一。作为Turbo Pascal、Delphi、C#和TypeScript等编程语言的创造者,在构建微软.NET等开发环境方面极具影响力,Hejlsberg影响了数以百万计的软件开发人员。近日,Hejlsberg与TNS新闻编辑Darryl K.Taft进行了一场线上对话,围绕微软低代码/无代码、Web3等话题,分享了他对许多与软件开发相关的事情的看法。Excel是一种低代码/无代码工具问:您对于低代码,无代码有什么看法?Anders Hejlsberg:我认为这个领域的潜力巨大。我们常会忽略,其实我们已经拥有了世界上最好的编程语言之一,或许这取决于你如何定义Excel中编程语言。可以说Excel是一种低代码/无代码的程序编写方式,人们运行程序,而他们使用的电子表格就是程序。你可以做一些事情,输入一些东西,然后运行程序,程序会在电子表格的底层运行,并且给出结果。所以我认为挑战其实一直在于这些工具。当达到低代码环境的极限时,你需要找到设置合适的逃生舱口的方法,才不会陷入困境。而且这个逃生舱口,可以转移到一个更完整或完整的编程环境,这意味着有意义的可扩展性模型是必须的。因此,我们需要思考的事情还有很多,但这些事情往往不是最重要的,因为人们往往会转而关注绘制方框和线条,以及这些示例的演示效果。但我常常很好奇,这些工具是否能适应现实世界?很多都不能,但有些可以。这是有趣的地方。问:我的意思是,整体的主旨是努力让更多人进入开发的世界。其中一部分人想要走的更远,成为专业人士,或者至少更加熟练。Anders Hejlsberg:是的。如果你去问所有的Excel用户,他们都不会自称程序员。但是,从某种意义上来说,他们是。问:没错,我比较喜欢把这比作“Blue Apron”和“HelloFresh”这样的套餐服务——它们会让你开始学习烹饪,并且自己动手,做得更好。你认为在软件开发中下一个要克服的挑战是什么?Anders Hejlsberg:在我们写代码的方式和机器学习的可能够帮助我们的方式之间,仍然有非常大的差距。因为我们的大脑以及神经网络的工作方式,从来没有真正关于0和1以及绝对正确的答案,而都是统计和模糊逻辑。然而,所有的编程语言都牢固地扎根于逻辑和可证明性等等。这两种世界观之间存在着巨大的差距。看看我们最终如何弥合这一差距的(如果说我们最终做到了的话)。软件开发中的安全性问:下面我们来谈谈安全问题。在软件开发中,安全性和整个shift left的作用有多重要?Anders Hejlsberg:这取决于你在堆栈中的位置。对于编程语言来说,安全性非常重要,起码这对我的工作影响很大。甚至可以说类型检查器是一种安全形式。这是软件中可利用的漏洞。所以从这个意义上来说,编程语言间接地考虑了安全性。创造可以分析代码,并且指出可能存在的安全漏洞的工具,是我们看待安全性的其他方式。但很显然,这是个现实问题。我是说,世界各地也有人每天上班,他们的工作就是黑入西方国家的公司,从而获得薪水。这细思极恐。有很多人靠滥用科技谋生。虽然这一点令人难过,但这就是现实。Web3的开发问:您对Web3有什么看法?您认为是否需要新的工具进行Web3的开发呢?Anders Hejlsberg:首先,我们要对Web3的概念达成共识,因为人们对此总是各持己见。我喜欢奖励创造者概念,以及创造数字资产并获得奖励的能力。但是,在这个领域也有很多骗子、挂羊头卖狗肉的人和急功近利的人。而且还会造成大量的环境污染,虽然可以将其归因于一些正在进行的采矿活动和能源的使用,所以这是一个多样的世界。我们将看到这一切的结果。因此,我喜欢它的某些部分,也反对它的某些部分。潜力巨大的项目:GitHub构建的Copilot问:我知道您在微软需要做的事情很多,但在微软以外,有没有什么很棒的项目或者工作吸引您的关注?Anders Hejlsberg:我认为微软肯定有一些非常有趣的项目。比如开发者工具、人工智能、机器学习,还有很多其他有意思的事。不知道你是否了解GitHub正在构建的Copilot的项目,能够在世界上所有的开源代码上训练一个机器学习网络,然后让它给出答案,是不是很棒?当然,这仍然有点像西大荒,因为有各种机遇和不可掌控的发展,以及知识产权的未解决的问题,但它展现出巨大的潜力。所以我认为这很吸引人,我正在密切关注这个问题。问:我认为这是2021年的最好的编程项目,涉及到相当大的领域。Anders Hejlsberg:是的,这个项目确实很吸引人。尤其是作为一名程序员,它在很大程度上让人洞察到我们谈论的是什么样的智能。从某种意义上说,用智能这个词有点不恰当,因为如果有人以前写过这段代码,这种机器学习模型的聚合内存可能是正确的,这值得我们注意。它可以在其内存中找到那段代码。但是,如果以前没有人写过,它必须要思考解决方案,结果可能出人意料,所以在这方面还有很多需要思考的地方。但这是一个了不起的工具,因为它把再利用的概念提升到了一个新的水平,让我们不用重复做别人已经做过的事。
  • [问题求助] c#实例 连接不上
    c#实例 连接不上不上
  • [新手课堂] C#学习:基础
    Namespace这玩意就是用来方便管理的,而且在计算机中相同的设计思想到处可见,比如同一个文件夹下不同有同名的文件,你放在不同文件夹下可以有同名文件。其他编程语言比如Java有包路径,不同路径名字可以有同名的类。这种思想方便管理文件/代码。namespace first_space{   class namespace_cl   {   }//比如这样,程序是会报错的   class namespace_cl   {   }}//但是你是下面的状态就不会报错namespace first_space{   class namespace_cl   {   }}namespace second_space{   class namespace_cl   { }}到这有的人就开始有疑问了:如果是不同的文件或者想访问其他的空间怎么办呢?细心的已经发现了,就和Java的导包一样,C#使用using导入空间,在每个编程文件的最上面几行都是这样的引入,想要哪些空间的功能导入哪个。这时候又有人有疑问了,能不能修仙小说那样天外有天,天上还有天。能不能命名空间套命名空间,套套套,此处禁止套娃。答案是可以的,引入的时候:using namespaceone.namespacetwo 用英文符号.即可,跟Java包路径同理。预处理器从字面理解就是提前对信息进行处理。她确实也是这样的,她会根据你指定的条件,只编译满足条件的代码,不满足条件的代码不编译。既区分了软件版本,代码还在一块,管理方便。预处理指令是#开始的,且只能作为开头,一般指令单独占一行。都有哪些指令在这就不单独写了。在Unity中指令挺有用的,因为PC是键盘,Android事件是手势,用预处理提前写好不同端的不同实现代码(当然她们功能可能是一致的),打包发布的时候利人利己。异常哎呀,这个老四件套了:try、catch、finally 和 throwtry: 一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。catch: 程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。finally: finally 块用于执行给定的语句,不管异常是否被抛出都会执行。例如,如果您打开一个文件,不管是否出现异常文件都要被关闭。throw: 当问题出现时,程序抛出一个异常。使用 throw 关键字来完成。反射通俗的讲就是可以访问一个类的所有属性和方法,且能够调用。有人提问了:随便写的public类不都是能任意访问调用的吗,这有什么区别?区别在于一个是正常写代码,你知道代码逻辑和内容,且都在你的掌控之内,当然能访问;而反射不同她能够访问你不清楚的类,比如三方框架你遇到这个框架里某个类某个方法没有对外开放,而你又需要使用,就可以用反射把她抛出来。优点:反射提高了程序的灵活性和扩展性。降低耦合性,提高自适应能力。它允许程序创建和控制任何类的对象,无需提前硬编码目标类。缺点:性能问题:使用反射基本上是一种解释操作,用于字段和方法接入时要远慢于直接代码。因此反射机制主要应用在对灵活性和拓展性要求很高的系统框架上,普通程序不建议使用。使用反射会模糊程序内部逻辑;程序员希望在源代码中看到程序的逻辑,反射却绕过了源代码的技术,因而会带来维护的问题,反射代码比相应的直接代码更复杂。属性总结一句话,和Java里实体的get/set方法一样的性质。委托使用关键字delegate来修饰,必须用new关键字来创建,且与某个特定方法关联。比较官方的说法:表示对具有特定参数列表和返回类型的方法的引用。通过委托,可以将方法视为可分配给变量并可作为参数传递的实体。 委托还类似于其他一些语言中存在的“函数指针”概念。 与函数指针不同,委托是面向对象且类型安全的。按照自己的理解:委托就是包一个外壳,操作外壳就是调用壳内的内容。就好像老板让你板砖,你委托给另一个人让她板砖。这就是委托。委托中还能通过加减号来实现多个,称之为多播。只有相同类型的委托可以合并。使用场景:因刚需C#没什么实际经验,大家知道有什么好的实际应用环境吗委托示例://这个是声明个委托    delegate int NumberChanger(int n);    static int num = 10;    public static int AddNum(int p)    {        num += p;        return num;    }    public static int MultNum(int q)    {        num *= q;        return num;    }    static void Main(string[] args)    {        // 创建委托实例        NumberChanger nc;        NumberChanger nc1 = new NumberChanger(AddNum);        NumberChanger nc2 = new NumberChanger(MultNum);        // 使用委托对象调用方法        nc1(25);        Console.WriteLine("Value of Num: {0}", num);        nc2(5);        Console.WriteLine("Value of Num: {0}", num);        //下面是组播 使用  +或- 符号操作        nc = nc1;        nc += nc2;        // 调用多播        nc(5);        Console.WriteLine("Value of Num: {0}", num);        Console.ReadKey();       //输出结果为:            //Value of Num: 35            //Value of Num: 175            //Value of Num: 75}
  • [技术干货] 树莓派C#做接近开关传感器试验
    试验准备:1、树莓派3B,接近开关一个,发光三极管一个。2、安装了Windows IoT 系统,Windows 10 + Visual Studio 2022开发环境接线图试验要完成的任务:当接近开关靠近金属物体时,主动通知,亮起三极管的灯。当接近开关远离金属物,随即三极管熄灭。1、创建一个类ProximitySwitch,用来实现对接近开关引脚监听,引脚电平变化时做出反应,这里用一个回调方法实现。定义一个GpioPin的控制监听对象。一个回调方法。 /// <summary> /// 监听控制 /// </summary> private GpioPin _ListenPin; /// <summary> /// 监听结果回调 /// </summary> private Action<GpioPinValue> _PinValueChanged;初始化接近开关的引脚对象,并设定回调方法 /// <summary> /// 初始化引脚 /// </summary> /// <param name="pin">引脚编号</param> /// <param name="mode">工作模式</param> /// <param name="value">初始值</param> void Init(int pin, GpioPinDriveMode mode, GpioPinValue value) { var gpio = GpioController.GetDefault(); _ListenPin = gpio.OpenPin(pin); _ListenPin.SetDriveMode(mode); _ListenPin.Write(value); _ListenPin.ValueChanged += Pin_ValueChanged; } private void Pin_ValueChanged(GpioPin sender, GpioPinValueChangedEventArgs args) { _PinValueChanged(sender.Read()); }2、再创建一个控制引脚输出的类PinSetting,类负责初始化一个引脚,并提供写入高低电平 public class PinSetting { GpioPin _Pin; public PinSetting(int pin) { var gpio = GpioController.GetDefault(); _Pin = gpio.OpenPin(pin); _Pin.SetDriveMode(GpioPinDriveMode.Output); } /// <summary> /// 执行写入 /// </summary> /// <param name="value"></param> public void WritePin(GpioPinValue value) { _Pin.Write(value); } }3、测试一下,这里是通过一个uwp点page上button出发 PinSetting pin; ProximitySwitch proximity; private async void Button_Click(object sender, RoutedEventArgs e) { pin = new PinSetting(27); proximity = new ProximitySwitch(6); proximity.StartListen(v => { pin.WritePin(v);//通过监听结果回调触发 }); }最终效果
  • [新手课堂] C#学习:基础
    Namespace这玩意就是用来方便管理的,而且在计算机中相同的设计思想到处可见,比如同一个文件夹下不同有同名的文件,你放在不同文件夹下可以有同名文件。其他编程语言比如Java有包路径,不同路径名字可以有同名的类。这种思想方便管理文件/代码。namespace first_space{   class namespace_cl   {   }//比如这样,程序是会报错的   class namespace_cl   {   }}//但是你是下面的状态就不会报错namespace first_space{   class namespace_cl   {   }}namespace second_space{   class namespace_cl   { }}到这有的人就开始有疑问了:如果是不同的文件或者想访问其他的空间怎么办呢?细心的已经发现了,就和Java的导包一样,C#使用using导入空间,在每个编程文件的最上面几行都是这样的引入,想要哪些空间的功能导入哪个。这时候又有人有疑问了,能不能修仙小说那样天外有天,天上还有天。能不能命名空间套命名空间,套套套,此处禁止套娃。答案是可以的,引入的时候:using namespaceone.namespacetwo 用英文符号.即可,跟Java包路径同理。预处理器从字面理解就是提前对信息进行处理。她确实也是这样的,她会根据你指定的条件,只编译满足条件的代码,不满足条件的代码不编译。既区分了软件版本,代码还在一块,管理方便。预处理指令是#开始的,且只能作为开头,一般指令单独占一行。都有哪些指令在这就不单独写了。在Unity中指令挺有用的,因为PC是键盘,Android事件是手势,用预处理提前写好不同端的不同实现代码(当然她们功能可能是一致的),打包发布的时候利人利己。异常哎呀,这个老四件套了:try、catch、finally 和 throwtry: 一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。catch: 程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。finally: finally 块用于执行给定的语句,不管异常是否被抛出都会执行。例如,如果您打开一个文件,不管是否出现异常文件都要被关闭。throw: 当问题出现时,程序抛出一个异常。使用 throw 关键字来完成。反射通俗的讲就是可以访问一个类的所有属性和方法,且能够调用。有人提问了:随便写的public类不都是能任意访问调用的吗,这有什么区别?区别在于一个是正常写代码,你知道代码逻辑和内容,且都在你的掌控之内,当然能访问;而反射不同她能够访问你不清楚的类,比如三方框架你遇到这个框架里某个类某个方法没有对外开放,而你又需要使用,就可以用反射把她抛出来。优点:反射提高了程序的灵活性和扩展性。降低耦合性,提高自适应能力。它允许程序创建和控制任何类的对象,无需提前硬编码目标类。缺点:性能问题:使用反射基本上是一种解释操作,用于字段和方法接入时要远慢于直接代码。因此反射机制主要应用在对灵活性和拓展性要求很高的系统框架上,普通程序不建议使用。使用反射会模糊程序内部逻辑;程序员希望在源代码中看到程序的逻辑,反射却绕过了源代码的技术,因而会带来维护的问题,反射代码比相应的直接代码更复杂。属性总结一句话,和Java里实体的get/set方法一样的性质。委托使用关键字delegate来修饰,必须用new关键字来创建,且与某个特定方法关联。比较官方的说法:表示对具有特定参数列表和返回类型的方法的引用。通过委托,可以将方法视为可分配给变量并可作为参数传递的实体。 委托还类似于其他一些语言中存在的“函数指针”概念。 与函数指针不同,委托是面向对象且类型安全的。按照自己的理解:委托就是包一个外壳,操作外壳就是调用壳内的内容。就好像老板让你板砖,你委托给另一个人让她板砖。这就是委托。委托中还能通过加减号来实现多个,称之为多播。只有相同类型的委托可以合并。使用场景:因刚需C#没什么实际经验,大家知道有什么好的实际应用环境吗委托示例://这个是声明个委托    delegate int NumberChanger(int n);    static int num = 10;    public static int AddNum(int p)    {        num += p;        return num;    }    public static int MultNum(int q)    {        num *= q;        return num;    }    static void Main(string[] args)    {        // 创建委托实例        NumberChanger nc;        NumberChanger nc1 = new NumberChanger(AddNum);        NumberChanger nc2 = new NumberChanger(MultNum);        // 使用委托对象调用方法        nc1(25);        Console.WriteLine("Value of Num: {0}", num);        nc2(5);        Console.WriteLine("Value of Num: {0}", num);        //下面是组播 使用  +或- 符号操作        nc = nc1;        nc += nc2;        // 调用多播        nc(5);        Console.WriteLine("Value of Num: {0}", num);        Console.ReadKey();       //输出结果为:            //Value of Num: 35            //Value of Num: 175            //Value of Num: 75}
  • [问题求助] C# OBS net45 SDK 上传文件或者下载文件 报错 基础连接已经关闭: 发送时发生错误,请指教
    基础连接已经关闭: 发送时发生错误。
  • C#WebApi同一个接口同一个会话会调用多次,如何判断是否是会话重复请求
    C#WebApi同一个接口同一个会话会调用多次,如何判断是否是会话重复请求
总条数:24 到第
上滑加载中