小编San*_*wah的帖子

使用LINQ比较两个数组

例如,我有两个数组:

string[] arrayOne = {"One", "Two", "Three", "Three", "Three"};
string[] arrayTwo = {"One", "Two", "Three"};

var result = arrayOne.Except(arrayTwo);

foreach (string s in result) Console.WriteLine(s);
Run Code Online (Sandbox Code Playgroud)

我想要的物品arrayOne不在其中arrayTwo.所以在这里我需要结果:Three Three 但我没有得到任何结果,因为它将"三"视为常见而不检查其他两项("三","三").

我不想写一个巨大的方法来解决这个问题.尝试了其他答案在SO但没有按预期工作:(.

谢谢!!!

.net c# linq arrays compare

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

Excel VBA - 选择剪切粘贴错误

我正在创建一个宏但我被困在这个剪切粘贴语句中,从昨天起就无法继续.

这是问题:我选择"D2到F2"列中的所有行并将其粘贴到"A1".这是它的代码:

Range("D2:F2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Cut

Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste    
Run Code Online (Sandbox Code Playgroud)

得到此错误:
错误

这是我尝试过的:

  1. 代码更改:使用PasteSpecial而不是简单Paste.

    Range("D2:F2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Cut
    
    Range("A1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    'ActiveSheet.Paste  ' insted of this using paste special.
    ActiveSheet.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    
    Run Code Online (Sandbox Code Playgroud)

收到以下错误:
在此输入图像描述

  1. 代码更改:将选择调整为3列.

    Range("D2:F2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Cut
    
    Range("A1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Resize(1, 3).Select
    'ActiveSheet.Paste
    
    Run Code Online (Sandbox Code Playgroud)

得到此错误:
在此输入图像描述

  1. 试过的On Error Resume Next声明.它忽略了错误消息,但也没有粘贴数据.

我正在寻找一种方法来忽略此错误消息并继续粘贴.我们通常手动copy-pastecut-paste在Excel工作表中得到此错误,我们可以选择忽略和粘贴数据.同样有什么方法可以在宏中忽略它吗?

excel vba copy-paste excel-vba

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

使用linq获取列表c#中部分匹配项的索引

我有字符串列表.如果列表包含该部分字符串,则找出该项的索引.请查看代码以获取更多信息.

List<string> s = new List<string>();
s.Add("abcdefg");
s.Add("hijklm");
s.Add("nopqrs");
s.Add("tuvwxyz");

if(s.Any( l => l.Contains("jkl") ))//check the partial string in the list
{
    Console.Write("matched");

    //here I want the index of the matched item.
    //if we found the item I want to get the index of that item.

}
else
{
    Console.Write("unmatched");
}
Run Code Online (Sandbox Code Playgroud)

c# linq list indexof

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

对C#中的Async Await编程的基本了解

我试图了解Async/Await编程模型。我编写了一个示例程序来了解相同的内容。

我已经写了一个名为3种独立的异步方法GetFirstValueGetSecondValueGetThirdValue。有一种名为的方法M1,该方法异步执行上述3种方法,并返回上述3种方法的串联结果。

我的主要想法是,如果方法GetFirstValue需要5秒钟,GetSecondValue7秒钟和GetThirdValue8秒钟。然后,M1应在不到20秒的时间内返回。由于3种方法不同步。

但是由于我没有正确理解这个概念。我做错了。这是我正在研究的完整程序。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace LearningAsyncProgramming
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Diagnostics.Stopwatch watch = System.Diagnostics.Stopwatch.StartNew();

            AsyncMethodsClass asyncMethods = new AsyncMethodsClass();
            Console.WriteLine(asyncMethods.M1().Result);
            watch.Stop();

            Console.WriteLine(watch.ElapsedMilliseconds/1000);
        }
    }

    class AsyncMethodsClass
    {
        public async Task<string> M1()
        {
            string retVal = string.Empty;

            int v1 = await GetFirstValue();
            int v2 = await …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading async-await

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

标签 统计

c# ×3

.net ×2

linq ×2

arrays ×1

async-await ×1

compare ×1

copy-paste ×1

excel ×1

excel-vba ×1

indexof ×1

list ×1

multithreading ×1

vba ×1