天道酬勤,学无止境

c#

how to define an array of textboxes in c#?

Hi when I create textboxes on Windows Application Form I cannot name it as box[0], box[1] and so on. The purpose why I want to do like this is because I want to use them in a loop.

2022-05-23 04:25:05    分类:问答    c#   arrays   loops   textbox   naming

Google.Apis sharing access and refresh tokens

Until now I had one client (web application) that was doing the OAUTH2 authorization flow, and then would send to the server (ASP.NET Web API) both the Access Token and the Refresh Token. Then on the server, those tokens would be used to do several operations against the Google API. Everything perfect until now we had the need of adding mobile clients doing the same OAUTH2 authorization flow. That required me to add those Android and iOS applications under the Googles Console. All 3 (Web, Android, and iOS) belong to the same project. The problem comes now, since on the server I have to use the

2022-05-23 03:15:03    分类:问答    c#   oauth-2.0   google-api

Pass data to startup.cs

问题 你如何将数据传递到 startup.cs ? 这是用于使用WebHostBuilder和TestServer的集成测试 我需要根据测试夹具传递不同的数据。 所以不想从配置文件中提取它,例如 数据将提供给在 startup.cs 中注册的中间件 文档似乎建议这应该有效: var configBuilder = new ConfigurationBuilder() .AddInMemoryCollection(new[] { new KeyValuePair<string, string>("key", "value"), }); var configuration = configBuilder.Build(); var host = new WebHostBuilder() .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseConfiguration(configuration) // config added here .UseStartup<Startup>() .Build(); host.Run(); 但是当我检查 startup.cs 中的配置对象时,密钥不存在。 并且只有 startup.cs 中定义的提供程序可用。 我目前正尝试在

2022-05-17 05:38:14    分类:技术分享    c#   .net-core

SAML Redirect sign or verify failing to produce correct signature

问题 我正在使用以下代码为我的 SAML 成功生成签名。 我使用 XML 符号对 POST 进行了排序,但是 REDIRECT 完全不同。 我无法生成与 https://www.samltool.com/sign_logout_req.php 相同的签名,当我尝试验证真正的签名时它失败了。 我把它带回了基础,并试图看看我是否可以以同样的方式签署它,但我不能,这表明我形成数据的方式有问题。 以下详细信息(进入 samltool.com): <saml:LogoutRequest ID="_02380F63816E0E92D6537758C37FE05F" Version="2.0" IssueInstant="2017-06-21T15:34:59.911Z" Destination="https://myteststs.net/appname/auth/" xmlns:saml="urn:oasis:names:tc:SAML:2.0:protocol"><saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://w.sp-app.com</saml:Issuer><saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"

2022-05-17 05:30:04    分类:技术分享    c#   saml-2.0

String greater, less, and equal comparison in XmlDocument

问题 我正在尝试在 XmlDocument 中进行字符串比较,以下是我尝试过的。 我想知道为什么前 2 个会产生正确的结果,而后 2 个不会返回任何结果。 我试图做的是根据日期时间字符串过滤掉节点。 就像我的最后一个例子一样。 谢谢, XmlNodeList test = x2PathDoc.SelectNodes("//config /pendingversion [@versionconfigid > 1002002]"); XmlNodeList test2 = x2PathDoc.SelectNodes("//config /pendingversion [@versionconfigid >'1002002']"); XmlNodeList test3 = x2PathDoc.SelectNodes("//config /pendingversion[@test > 'b']"); XmlNodeList test4 = x2PathDoc.SelectNodes("//config /pendingversion [@deploydatetime > '2010-12-19T03:25:00-08:00']"); 回答1 在 XPath 1.0 中,除相等比较之外的比较运算符仅适用于数字。 这是因为在 XML 中您正在处理 UNICODE。 因此

2022-05-17 05:18:35    分类:技术分享    c#   .net   xpath   xmldocument

C# ListView Tile Width 100%?

问题 我有一个 ListView 设置为 Tileview。 ListView 宽度为 300,平铺宽度也是如此。 当瓷砖的数量没有溢出导致滚动条时,这可以正常工作。 但是,当它确实溢出时,当出现垂直滚动条时,也会出现水平滚动条,因为垂直滚动条会降低图块的列​​表视图宽度。 有没有办法让瓷砖自动调整大小以填充列表视图? 查看示例图片: 目前发生的情况: 我想要发生的事情: 我尝试将宽度设置为 100%,但这不起作用。 有任何想法吗? 回答1 没有直接的方法来检测滚动条是否可见。 不过,一种间接的方式是为 ClientSizeChanged 事件编写一个事件处理程序: private void listView1_ClientSizeChanged(object sender, EventArgs e) { listView1.TileSize = new Size(listView1.ClientSize.Width, listView1.TileSize.Height); } 还要更改您机器上的 DPI 设置,以验证您的图块大小是否仍然合适。 这通常会改变控件的大小。 ClientSize.Width 是你的朋友。

2022-05-17 05:09:23    分类:技术分享    c#   winforms   listview   tiles   fluid-layout

MasterMind scoring algorithm in C# using LINQ

问题 我正在寻找一种优雅的方法来计算 C# 中 MasterMind 游戏中的猜测分数,最好使用 LINQ。 在 MasterMind 中,密码生成器使用数字 1 到 6 生成 4 位密码。一个数字可以使用多次。 例如,密码是: int[] secret = { 1, 2, 3, 1 }; 密码破解者试图通过猜测来破解密码。 在这个例子中,猜测是: int[] guess = { 1, 1, 2, 2 }; (代码和猜测现在都存储在一个数组中,但其他集合类型也可以)。 然后,编码者通过宣布“黑人”和“白人”的数量来“评分”这个猜测。 猜中的每个数字在数值和位置上都是正确的,将获得一个黑色。 放置在错误位置的每个正确数字都会获得白色。 在此示例中,得分为 1 个黑色(位置 1 中的“1”)和 2 个白色(位置 2 和 3 中的“1”和“2”)。 回到问题:我正在寻找一种优雅的方法来计算 C# 中的猜测分数,最好使用 LINQ。 到目前为止,我已经提出了一个计算黑人数量的声明: int blacks = new int[] { 0, 1, 2, 3 }.Count(i => (guess[i] == secret[i])); 我打算按照白人的数量是匹配的总数 (3) 减去黑人的数量。 所以我尝试了: int whites = guess.Intersect(secret).Count(

2022-05-17 04:54:04    分类:技术分享    c#   linq

C# Get Active NIC IPv4 Address

问题 我的电脑上有多个网卡。 (因为 VMWare) 如何找到活动卡的 IPv4 地址。 我的意思是,如果我在终端中发送 ping 并在 WireShark 中拦截数据包,我想要“源”的地址。 我想检查每个网络接口,看看 GateWay 是空的还是 null ? 或者也许 ping 127.0.0.1 并获取 ping 请求的 IP 源? 但无法实施。 现在我有我在 StackOverFlow 上找到的这段代码 public static string GetLocalIpAddress() { var host = Dns.GetHostEntry(Dns.GetHostName()); return host.AddressList.First(h => h.AddressFamily == AddressFamily.InterNetwork).ToString(); } 但它让我获得了 VmWare 卡的 IP。 但我不知道“ .First() ”还能用什么。 回答1 public static string GetLocalIpAddress() { foreach (var netI in NetworkInterface.GetAllNetworkInterfaces()) { if (netI.NetworkInterfaceType !=

2022-05-17 04:52:24    分类:技术分享    c#   ip-address

EntityCommandExecutionException Timeout Expired Only Sometimes

问题 我正在使用 Entity Framework 5 连接到 SQL Server 2008。我已将存储过程导入到我的项目中,没有任何问题。 存储过程在过去执行时完全没有问题,直到我从在 LINQ 中使用.GroupBy().First()切换到通过在存储过程中使用OUTER APPLY来获得独特的结果。 我从 LINQ 中的.GroupBy()切换到在 SQL Server 上使用OUTER APPLY ,因为当然 SQL 要快得多。 这是我的 SQL: @USERID VARCHAR(MAX) = NULL, @ITEMTYPE VARCHAR(MAX) = NULL, @ITEMSUBTYPE VARCHAR(MAX) = NULL, @ITEMGROUP VARCHAR(MAX) = NULL, @ITEMNO VARCHAR(MAX) = NULL SELECT distinct orderformdump.itemno, case when @userid = '' then NULL else CAST((SELECT top 1 [UNITPRICE] FROM [ICPRICP] WHERE [ITEMNO] = ICITEM.ITEMNO AND [PRICELIST] in (select priclist from ARCUS where IDCUST

2022-05-17 04:50:14    分类:技术分享    c#   sql-server   entity-framework   linq

How to upload Video to youtube using Google.Apis.YouTube.v3 and C#?

问题 我已经使用C#创建了console应用程序。 这会将Video从本地驱动器upload到youtube 。 我使用此链接在 google api 中创建了新应用程序。 我还使用nuget安装了所有必需的packages 。 当我运行我的应用程序时,出现“拒绝访问”错误,我无法找到问题所在。 我在Task Run()方法中遇到错误。 using System; using System.IO; using System.Reflection; using System.Threading; using System.Threading.Tasks; using Google.Apis.Auth.OAuth2; using Google.Apis.Services; using Google.Apis.Upload; using Google.Apis.Util.Store; using Google.Apis.YouTube.v3; using Google.Apis.YouTube.v3.Data; namespace Google.Apis.YouTube.Samples { /// <summary> /// YouTube Data API v3 sample: create a playlist. /// Relies on the Google APIs

2022-05-17 04:49:09    分类:技术分享    c#   google-api   youtube-data-api   google-api-dotnet-client   google-data-api