This commit is contained in:
2023-08-03 13:23:50 +09:00
parent b3d721afbb
commit 8a3eb1fe6f
4 changed files with 78 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LinqInNotIn
{
internal class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public Product(int id, string name)
{
this.ProductId = id;
this.Name = name;
}
}
}

View File

@@ -0,0 +1,42 @@
namespace LinqInNotIn
{
internal class Program
{
static void Main(string[] args)
{
List<Product> products = new List<Product>();
products.Add(new Product(1, "Scissors"));
products.Add(new Product(2, "Pencil"));
products.Add(new Product(3, "Ballpen"));
//products.Add(new Product(3, "Null Ballpen"));
products.Add(new Product(4, "Snack"));
products.Add(new Product(5, "Beverage"));
int[] ids = { 2, 4, 5 };
var inQuery = from item in products
where ids.Contains(item.ProductId)
select item;
var notInQuery = from item in products
where !ids.Contains(item.ProductId)
select item;
Console.WriteLine("inQuery");
foreach (var item in inQuery)
{
Console.WriteLine($"idx: {item.ProductId}, name: {item.Name}");
}
Console.WriteLine("notInQuery");
foreach (var item in notInQuery)
{
Console.WriteLine($"idx: {item.ProductId}, name: {item.Name}");
}
var firstItem = products.First(item => item.ProductId == 3);
var singleItem = products.Single(item => item.ProductId == 3);
Console.WriteLine($"first == single: {firstItem == singleItem}");
}
}
}