public async Task <IActionResult> Create([Bind("Id,Name,UploadedImage,ImageUrl")] Rice rice) { var webRoot = Directory.GetCurrentDirectory() + "\\wwwroot\\Images\\Uploads\\"; if (rice.UploadedImage == null) { return(View(rice)); } var filename = ContentDispositionHeaderValue .Parse(rice.UploadedImage.ContentDisposition) .FileName .Trim('"'); filename = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\Images\\Uploads\\" + filename); if (Directory.Exists(webRoot)) { using (FileStream fs = System.IO.File.Create(filename)) { rice.UploadedImage.CopyTo(fs); fs.Flush(); } } rice.ImageUrl = "~/Images/Uploads/" + rice.UploadedImage.FileName; if (ModelState.IsValid) { _context.Add(rice); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(rice)); }
static void Main(string[] args) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); //[1] 밥 만들기 Rice rice = (new Cooking()).MakeRice(); // 스레드 차단: true Console.WriteLine($"밥 준비 완료 - {rice.GetHashCode()}"); //[2] 국 만들기 Soup soup = (new Cooking()).MakeSoup(); Console.WriteLine($"국 준비 완료 - {soup.GetHashCode()}"); //[3] 달걀 만들기 Egg egg = (new Cooking()).MakeEgg(); Console.WriteLine($"달걀 준비 완료 - {egg.GetHashCode()}"); stopwatch.Stop(); Console.WriteLine($"\n시간: {stopwatch.ElapsedMilliseconds}밀리초"); Console.WriteLine("동기 방식으로 식사 준비 완료"); }
private void btnMakeDinner_Click(object sender, EventArgs e) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); //[1] 밥 만들기 Rice rice = (new Cooking()).MakeRice(); lblDisplay.Text = $"밥 준비 완료 - {rice.GetHashCode()}"; //[2] 국 만들기 Soup soup = (new Cooking()).MakeSoup(); lblDisplay.Text = $"국 준비 완료 - {soup.GetHashCode()}"; //[3] 달걀 만들기 Egg egg = (new Cooking()).MakeEgg(); lblDisplay.Text = $"달걀 준비 완료 - {egg.GetHashCode()}"; stopwatch.Stop(); lblDisplay.Text = $"\n시간: {stopwatch.ElapsedMilliseconds}밀리초"; lblDisplay.Text = ("동기 방식으로 식사 준비 완료"); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Name")] Rice rice) { if (id != rice.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(rice); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RiceExists(rice.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(rice)); }
public void Start() { Rice rice = new Rice(); EatableServant eatable = new EatableServant(); eatable.Eat(rice); }
//基础用法 static void BasicUsage() { Console.WriteLine("基础用法"); FoodAbstract foodAbstract = new Rice(); Console.WriteLine(foodAbstract.BeginEat()); foodAbstract = new Moodles(); Console.WriteLine(foodAbstract.BeginEat()); }
public Rice OrderRice(string model) { Rice rice = _factory.CreateRice(model); if (rice == null) { return(null); } return(rice); }
public Taco(IngredientFactory ingredientFactory) { _poultry = ingredientFactory.GetPoultry(); _meat = ingredientFactory.GetMeat(); _vegetation = ingredientFactory.GetVegetation(); _cheese = ingredientFactory.GetCheese(); _guacomole = ingredientFactory.GetGuacomole(); _rice = ingredientFactory.GetRice(); _beans = ingredientFactory.GetBeans(); _creamCheese = ingredientFactory.GetCreamCheese(); _tomato = ingredientFactory.GetTomato(); _chili = ingredientFactory.GetChili(); }
// Use this for initialization void Start() { rand = new System.Random(); indexIcon = rand.Next(0, 12); noEffect = new Effect("No Disease", 0, false); purifyEffect = new Effect("Cure", 1, false); malaria = new Effect("Malaria", -1, false); bilharzia = new Effect("Bilharzia", -2, false); effectExp1 = "lose 1 HP every turn"; effectExp2 = "Cure all disease and +1 HP"; effectExp3 = "lose 2 HP every turn"; effectsActive = new ArrayList(); foods = new ArrayList(); birdseed = new BirdSeed("Bird Seed", 1, noEffect, 0); oat = new Oat("Oat", 1, malaria, 1); Lettuce lettuce = new Lettuce("Lettuce", 3, bilharzia, 2); // lose speed -> speed/2 Rice rice = new Rice("Rice", 1, purifyEffect, 3); RottenGrape rottenGrape = new RottenGrape("Rotten Grape", -2, malaria, 4); PollutedCrackedCorn pollutedCrackedCorn = new PollutedCrackedCorn("Polluted Cracked Corn", -2, malaria, 5); Avocado avocado = new Avocado("Avocado", -2, malaria, 6); Onion onion = new Onion("Onion", -2, purifyEffect, 7); Nuts nuts = new Nuts("Nuts", -2, purifyEffect, 8); Chocolate chocolate = new Chocolate("Chocolate", -2, purifyEffect, 9); Popcorn popcorn = new Popcorn("Popcorn", -2, bilharzia, 10); Bread bread = new Bread("Bread", -2, malaria, 11); for (int i = 0; i < 3; i++) { foods.Add(birdseed); foods.Add(oat); foods.Add(lettuce); foods.Add(rice); foods.Add(rottenGrape); foods.Add(pollutedCrackedCorn); foods.Add(avocado); foods.Add(onion); foods.Add(nuts); foods.Add(chocolate); foods.Add(popcorn); foods.Add(bread); } }
//When called public void Destroy() { //Destroy the object Destroy(gameObject); var t = transform; //Create "totalParts" "rice pieces" in random directions and w/ random forces for (int i = 0; i < totalParts; i++) { Rice clone = (Rice)Instantiate(rice, t.position, Quaternion.identity); clone.GetComponent <Rigidbody2D>().AddForce(Vector3.right * (Random.Range(-100, 100))); clone.GetComponent <Rigidbody2D>().AddForce(Vector3.up * Random.Range(75, 300)); } }
public override void OnBuildingPlaced() { base.OnBuildingPlaced(); // Add this rice to a new rice resource field Transform newParent = new GameObject("Rice Resource Field").transform; newParent.parent = transform.parent; ResourceField field = newParent.gameObject.AddComponent <ResourceField>(); List <Resource> resources = new List <Resource>(); Rice rice = GetComponent <Rice>(); rice.ParentField = field; resources.Add(rice); field.Set(resources); }
public static FoodAbstract FoodFactory(FoodEnum foodEnum) { FoodAbstract result = null; switch (foodEnum) { case FoodEnum.Moodles: result = new Moodles(); break; case FoodEnum.Rice: result = new Rice(); break; default: break; } return(result); }
public static void Run() { Beans ingredient1 = new Beans(); ingredient1.Weight = 0.3; Rice ingredient2 = new Rice(); ingredient2.Weight = 0.25; Meat ingredient3 = new Meat(); ingredient3.Weight = 0.3; Person customer = new Person(); customer.Weight = 80.2; customer.Eat(ingredient1); customer.Eat(ingredient2); customer.Eat(ingredient3); System.Console.WriteLine($"Now, the customer weight is {customer.Weight}kg!"); }
static async Task Main(string[] args) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); Rice rice = await(new Cooking()).MakeRiceAsync(); // 스레드 차단: false Console.WriteLine($"밥 준비 완료: {rice.GetHashCode()}"); Soup soup = await(new Cooking()).MakeSoupAsync(); Console.WriteLine($"국 준비 완료: {soup.GetHashCode()}"); Egg egg = await(new Cooking()).MakeEggAsync(); Console.WriteLine($"달걀 준비 완료: {egg.GetHashCode()}"); stopwatch.Stop(); Console.WriteLine($"\n시간: {stopwatch.ElapsedMilliseconds}밀리초"); Console.WriteLine("비동기 방식으로 식사 준비 완료"); }
public Rice CreateRice(string model) { model = model.ToLower(); Rice rice = null; if (model.Equals("basmati")) { rice = new Basmati(); } else if (model.Equals("black")) { rice = new Black(); } else if (model.Equals("brown")) { rice = new Brown(); } else if (model.Equals("jasmine")) { rice = new Jasmine(); } return(rice); }
static async Task Main(string[] args) { Console.WriteLine("[?] 어떤 방식으로 실행할까요? (0~4 번호 입력)\n" + "0. 동기\t\t1. await\t2. Task<T>\t3. WhenAll\t4. WhenAny "); var number = Convert.ToInt32(Console.ReadLine()); switch (number) { case 1: // 비동기(동기 프로그램을 포함한) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); Egg egg = await(new Cooking()).MakeEggAsync(); Console.WriteLine($"달걀 재료 준비 완료: {egg.GetHashCode()}"); Rice rice = await(new Cooking()).MakeRiceAsync(); Console.WriteLine($"김밥 준비 완료: {rice.GetHashCode()}"); Soup soup = await(new Cooking()).MakeSoupAsync(); Console.WriteLine($"국 준비 완료: {soup.GetHashCode()}"); stopwatch.Stop(); Console.WriteLine($"\n시간: {stopwatch.ElapsedMilliseconds}"); Console.WriteLine("비동기 방식으로 식사(김밥) 준비 완료"); } break; case 2: // 비동기(함께 실행) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 3개의 Async 메서드가 동시 실행 Task <Rice> riceTask = (new Cooking()).MakeRiceAsync(); Task <Soup> soupTask = (new Cooking()).MakeSoupAsync(); Task <Egg> eggTask = (new Cooking()).MakeEggAsync(); Rice rice = await riceTask; Console.WriteLine($"식탁에 밥 준비 완료: {rice.GetHashCode()}"); Soup soup = await soupTask; Console.WriteLine($"식탁에 국 준비 완료: {soup.GetHashCode()}"); Egg egg = await eggTask; Console.WriteLine($"식탁에 달걀 준비 완료: {egg.GetHashCode()}"); stopwatch.Stop(); Console.WriteLine($"\n시간: {stopwatch.ElapsedMilliseconds}"); Console.WriteLine("비동기 방식으로 식사 준비 완료"); } break; case 3: // 비동기(모두 완료되는 시점) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 3개의 Async 메서드가 동시 실행 Task <Rice> riceTask = (new Cooking()).MakeRiceAsync(); Task <Soup> soupTask = (new Cooking()).MakeSoupAsync(); Task <Egg> eggTask = (new Cooking()).MakeEggAsync(); // 모든 작업이 다 완료될 때까지 대기 await Task.WhenAll(riceTask, soupTask, eggTask); Console.WriteLine("식탁에 모든 식사 준비 완료"); stopwatch.Stop(); Console.WriteLine($"\n시간: {stopwatch.ElapsedMilliseconds}"); Console.WriteLine("비동기 방식으로 식사 준비 완료"); } break; case 4: { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 3개의 Async 메서드가 동시 실행 Task <Rice> rTask = (new Cooking()).MakeRiceAsync(); Task <Soup> sTask = (new Cooking()).MakeSoupAsync(); Task <Egg> eTask = (new Cooking()).MakeEggAsync(); // 하나라도 작업이 끝나면 확인 var allTasks = new List <Task> { rTask, sTask, eTask }; while (allTasks.Any()) // 작업이 하나라도 있으면 실행 { Task finished = await Task.WhenAny(allTasks); if (finished == rTask) { Rice rice = await rTask; Console.WriteLine($"밥 준비 완료 - {rice}"); } else if (finished == sTask) { Soup soup = await sTask; Console.WriteLine($"국 준비 완료 - {soup}"); } else { Egg egg = await eTask; Console.WriteLine($"달걀 준비 완료 - {egg}"); } allTasks.Remove(finished); // 끝난 작업은 리스트에서 제거 } stopwatch.Stop(); Console.WriteLine( $"\n시간: {stopwatch.ElapsedMilliseconds}"); Console.WriteLine("비동기 방식으로 식사 준비 완료"); } break; default: // 동기(Sync) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); //[1] 밥 만들기 Rice rice = (new Cooking()).MakeRice(); // 스레드 차단: true Console.WriteLine($"밥 준비 완료 - {rice.GetHashCode()}"); //[2] 국 만들기 Soup soup = (new Cooking()).MakeSoup(); Console.WriteLine($"국 준비 완료 - {soup.GetHashCode()}"); //[3] 달걀 만들기 Egg egg = (new Cooking()).MakeEgg(); Console.WriteLine($"달걀 준비 완료 - {egg.GetHashCode()}"); stopwatch.Stop(); Console.WriteLine($"\n시간: {stopwatch.ElapsedMilliseconds}"); Console.WriteLine("동기 방식으로 식사 준비 완료"); } break; } }
internal People() { rice = new Rice(); }
private void ProduceOneProp() { Random r = new Random((int)Environment.TickCount64); XYPosition newPropPos = new XYPosition(); while (true) { newPropPos.x = r.Next(0, gameMap.Rows * Map.Constant.numOfGridPerCell); newPropPos.y = r.Next(0, gameMap.Cols * Map.Constant.numOfGridPerCell); int cellX = Map.Constant.GridToCellX(newPropPos), cellY = Map.Constant.GridToCellY(newPropPos); bool canLayProp = true; gameMap.ObjListLock.EnterReadLock(); try { foreach (GameObject obj in gameMap.ObjList) { if (cellX == Map.Constant.GridToCellX(obj.Position) && cellY == Map.Constant.GridToCellY(obj.Position) && (obj is Wall || obj is BirthPoint)) { canLayProp = false; break; } } } finally { gameMap.ObjListLock.ExitReadLock(); } if (canLayProp) { newPropPos = Map.Constant.CellToGrid(cellX, cellY); break; } } PropType propType = (PropType)r.Next(Prop.MinPropTypeNum, Prop.MaxPropTypeNum + 1); Prop?newProp = null; switch (propType) { case PropType.Bike: newProp = new Bike(newPropPos, Map.Constant.unpickedPropRadius); break; case PropType.Amplifier: newProp = new Amplifier(newPropPos, Map.Constant.unpickedPropRadius); break; case PropType.JinKeLa: newProp = new JinKeLa(newPropPos, Map.Constant.unpickedPropRadius); break; case PropType.Rice: newProp = new Rice(newPropPos, Map.Constant.unpickedPropRadius); break; case PropType.Shield: newProp = new Shield(newPropPos, Map.Constant.unpickedPropRadius); break; case PropType.Totem: newProp = new Totem(newPropPos, Map.Constant.unpickedPropRadius); break; case PropType.Spear: newProp = new Spear(newPropPos, Map.Constant.unpickedPropRadius); break; case PropType.Dirt: newProp = new Dirt(newPropPos, Map.Constant.unpickedPropRadius); break; case PropType.Attenuator: newProp = new Attenuator(newPropPos, Map.Constant.unpickedPropRadius); break; case PropType.Divider: newProp = new Divider(newPropPos, Map.Constant.unpickedPropRadius); break; } if (newProp != null) { unpickedPropListLock.EnterWriteLock(); try { unpickedPropList.AddLast(newProp); } finally { unpickedPropListLock.ExitWriteLock(); } newProp.CanMove = true; } }
public void Eat(Rice rice) { Console.WriteLine("Supplier eat rice"); }
static async Task Main(string[] args) { // DateTime start = DateTime.Now; // Cooking cooking = new Cooking(); // // cooking.MakeRice(); // // cooking.MakeSoup(); // // cooking.MakeEgg(); // // System.Console.WriteLine($"Sync Complete: {(DateTime.Now - start).TotalSeconds}"); // var rice = await cooking.MakeRiceAsync(); // var soup = await cooking.MakeSoupAsync(); // var egg = await cooking.MakeEggAsync(); // System.Console.WriteLine($"Async Complete: {(DateTime.Now - start).TotalSeconds}"); System.Console.WriteLine($"어떤 방식으로 실행할까요? (0~4 번호 입력\n0. Sync\t1. await\t2. Task<T>\t3. WhenAll\t4. WhenAny"); var number = Convert.ToInt32(Console.ReadLine()); switch (number) { case 1: // Async(include Sync) { DateTime start = DateTime.Now; Egg egg = await(new Cooking()).MakeEggAsync(); System.Console.WriteLine($"Complete Egg: {egg.GetHashCode()}"); Rice rice = await(new Cooking()).MakeRiceAsync(); System.Console.WriteLine($"Complete Rice: {rice.GetHashCode()}"); Soup soup = await(new Cooking()).MakeSoupAsync(); System.Console.WriteLine($"Complete Soup: {soup.GetHashCode()}"); System.Console.WriteLine($"\nAsync Complete: {(DateTime.Now - start).TotalSeconds}"); } break; case 2: // Async { DateTime start = DateTime.Now; // 3 Async Method Execute At same the time Task <Rice> riceTask = (new Cooking()).MakeRiceAsync(); Task <Soup> soupTask = (new Cooking()).MakeSoupAsync(); Task <Egg> eggTask = (new Cooking()).MakeEggAsync(); Rice rice = await riceTask; System.Console.WriteLine($"Complete Rice: {rice.GetHashCode()}"); Soup soup = await soupTask; System.Console.WriteLine($"Complete Soup: {soup.GetHashCode()}"); Egg egg = await eggTask; System.Console.WriteLine($"Complete Egg: {egg.GetHashCode()}"); System.Console.WriteLine($"\nAsync Complete: {(DateTime.Now - start).TotalSeconds}"); } break; case 3: // Async -WhenAll { DateTime start = DateTime.Now; // 3 Async Method Execute At same the time Task <Rice> raceTask = (new Cooking()).MakeRiceAsync(); Task <Soup> soupTask = (new Cooking()).MakeSoupAsync(); Task <Egg> eggTask = (new Cooking()).MakeEggAsync(); await Task.WhenAll(raceTask, soupTask, eggTask); System.Console.WriteLine($"\nAsync Complete: {(DateTime.Now - start).TotalSeconds}"); } break; case 4: // Async -WhenAny { DateTime start = DateTime.Now; // 3 Async Method Execute At same the time Task <Rice> riceTask = (new Cooking()).MakeRiceAsync(); Task <Soup> soupTask = (new Cooking()).MakeSoupAsync(); Task <Egg> eggTask = (new Cooking()).MakeEggAsync(); var allTasks = new List <Task> { riceTask, soupTask, eggTask }; while (allTasks.Any()) { Task finished = await Task.WhenAny(allTasks); if (finished == riceTask) { Rice rice = await riceTask; System.Console.WriteLine($"Complete Rice: {rice}"); } else if (finished == soupTask) { Soup soup = await soupTask; System.Console.WriteLine($"Complete Rice: {soup}"); } else if (finished == eggTask) { Egg egg = await eggTask; System.Console.WriteLine($"Complete Rice: {egg}"); } allTasks.Remove(finished); } System.Console.WriteLine($"\nAsync Complete: {(DateTime.Now - start).TotalSeconds}"); } break; default: // Sync { DateTime start = DateTime.Now; Egg egg = (new Cooking()).MakeEgg(); System.Console.WriteLine($"Complete Egg: {egg.GetHashCode()}"); Rice rice = (new Cooking()).MakeRice(); System.Console.WriteLine($"Complete Rice: {rice.GetHashCode()}"); Soup soup = (new Cooking()).MakeSoup(); System.Console.WriteLine($"Complete Soup: {soup.GetHashCode()}"); System.Console.WriteLine($"\nSync Complete: {(DateTime.Now - start).TotalSeconds}"); } break; } }