{"product_id":"154815","title":"Effective C ","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jYDsmQy6D8oWooPSQEWvTEV0Q8pkY.png?v=1765082109\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\n\n\u003cdiv style=\"width:95%\"\u003e\n\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e Effective C# \u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/55864866\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e Description \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eBook Introduction\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cdiv\u003e \u003cb\u003e50 New Ways to Write Better C# Code\u003cbr\u003e\u003c\/b\u003e\u003cbr\u003e C# is gaining more attention as its development area expands from traditional .NET-based development to the Unity game engine.\u003cbr\u003e Additionally, demand continues to grow as Zamarin can support various mobile platforms.\u003cbr\u003e Accordingly, this book provides various tips and practical methods to help software developers use C# more efficiently.\u003cbr\u003e\u003cbr\u003e \u003cbr\u003eThe author shows you 50 ways to fully leverage the power of C# to write efficient, high-performance code.\u003cbr\u003e Drawing on his excellent C# experience, he explains everything from resource management to multi-core support, and presents a variety of options to suit your situation.\u003cbr\u003e We'll explore how to choose the most effective solution and write code that's easy to maintain and improve.\u003cbr\u003e\u003cbr\u003e Packed with clear, practical explanations, expert tips, and realistic example code, this book is sure to become a must-have for any intermediate developer.\u003cbr\u003e\u003cbr\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cul\u003e\u003cli\u003e You can preview some of the book's contents.\u003cbr\u003e \u003cspan\u003ePreview\u003c\/span\u003e\n\n\u003c\/li\u003e\u003c\/ul\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eindex\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e CHAPTER 1 C# Language Elements\u003cbr\u003e Item 1: It is better to use var when declaring local variables.\u003cbr\u003e Item 2: Readonly is better than const\u003cbr\u003e Item 3: Is and as are better than cast.\u003cbr\u003e Item 4: Replace string.Format() with interpolated strings.  \u003cbr\u003eItem 5: Use FormattableString to generate culture-specific strings.\u003cbr\u003e Item 6: Use the nameof() operator actively.\u003cbr\u003e Item 7: Express callbacks using delegates.\u003cbr\u003e Item 8: Use the null conditional operator when calling events.\u003cbr\u003e Item 9: Minimize Boxing and Unboxing\u003cbr\u003e Item 10: Use the new modifier only when the base class is upgraded.\u003cbr\u003e\u003cbr\u003e CHAPTER 2 .NET RESOURCE MANAGEMENT\u003cbr\u003e Item 11: Understanding .NET Resource Management\u003cbr\u003e Item 12: Member initialization is preferable to assignment.\u003cbr\u003e Item 13: Initialize static class members correctly.\u003cbr\u003e Item 14: Minimize Duplicate Initialization Code\u003cbr\u003e Item 15: Don't create unnecessary objects.\u003cbr\u003e Item 16: Never call virtual functions within a constructor.\u003cbr\u003e Item 17: Implement the Standard Dispose Pattern\u003cbr\u003e\u003cbr\u003e CHAPTER 3 USE OF GENERICS\u003cbr\u003e Item 18: Set only the constraints that are absolutely necessary.  \u003cbr\u003eItem 19: Check types at runtime and use the optimal algorithm.\u003cbr\u003e Item 20: Define object precedence using IComparable[T] and IComparer[T].\u003cbr\u003e Item 21: Write generic classes in case the type parameter supports IDisposable.\u003cbr\u003e Item 22: Support covariance and contravariance.\u003cbr\u003e Item 23: Use delegates to set method constraints on type parameters.\u003cbr\u003e Item 24: Don't specialize generics on base classes or interfaces.\u003cbr\u003e Item 25: Define generic methods if you don't need to create instance fields with type parameters.\u003cbr\u003e Item 26: Implement generic and non-generic interfaces together.\u003cbr\u003e Item 27: Define interfaces concisely and use extension methods to extend functionality.\u003cbr\u003e Item 28: Improve reified generic types using extension methods.\u003cbr\u003e \u003cbr\u003eCHAPTER 4 Using LINQ\u003cbr\u003e Item 29: Returning an iterator is better than returning a collection.\u003cbr\u003e Item 30: Query syntax is better than loops.\u003cbr\u003e Item 31: Create a composable API that can be used in sequences.\u003cbr\u003e Item 32: Separate Actions, Predicates, Functions, and Iteration Methods\u003cbr\u003e Item 33: Create the elements you need when you need them.\u003cbr\u003e Item 34: Reduce coupling by using functions as parameters.\u003cbr\u003e Item 35: Never overload extension methods.\u003cbr\u003e Item 36: Understand how query expressions and method call syntax correspond.\u003cbr\u003e Item 37: When using queries, lazy evaluation is better than immediate evaluation.\u003cbr\u003e Item 38: Lambda Expressions Are Better Than Methods\u003cbr\u003e Item 39: Avoid throwing exceptions within functions and actions.\u003cbr\u003e Item 40: Distinguish between deferred and immediate execution.\u003cbr\u003e Item 41: Don't capture expensive resources.  \u003cbr\u003eItem 42: Distinguish between IEnumerable[T] and IQueryable[T] data sources.\u003cbr\u003e Item 43: Force the meaning of query results to be clear, and use Single() and First().\u003cbr\u003e Item 44: Don't modify bound variables.\u003cbr\u003e\u003cbr\u003e CHAPTER 5 Exception Handling\u003cbr\u003e Item 45: Use exceptions to signal method failure.\u003cbr\u003e Item 46: Use using and try\/finally to clean up resources.\u003cbr\u003e Item 47: Write Perfect Custom Exception Classes\u003cbr\u003e Item 48: It is recommended to adhere to strong exception guarantees.\u003cbr\u003e Item 49: Exception filters are better than re-raising exceptions after catching them.\u003cbr\u003e Item 50: Explore other uses of exception filters.\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eDetailed image\u003c\/b\u003e \u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg src=\"https:\/\/image.yes24.com\/momo\/TopCate1686\/MidCate001\/168503495(1).jpg\" border=\"0\" alt=\"Detailed Image 1\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003ePublisher's Review\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e 50 Useful and Mysterious Tips for C# Developers\u003cbr\u003e It has already been over ten years since the first edition of this book was introduced in Korea. \u003cbr\u003eMeanwhile, the C# community has grown explosively, and the scope of development has expanded as countless developers have adopted C# as their primary language.\u003cbr\u003e In the midst of this, the author has prepared this new third edition focusing on how to efficiently use the latest C# version 6.0 or higher.\u003cbr\u003e We've boldly eliminated topics that were covered in previous editions but are no longer useful, and have organized new topics based on new additions to C# and the .NET Framework, as well as the accumulated experience of the C# community.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e The target audience for this book are professional developers who use C# as their primary language.\u003cbr\u003e Therefore, it was written under the assumption that it will be read by developers who are already sufficiently familiar with the grammar and language features of C#.\u003cbr\u003e Rather than explaining the features of C# itself in detail, it shows how to apply those features in the development field and solve problems. \u003cbr\u003eFurthermore, we will guide you on how to write high-quality code using the latest features of C#.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e Translator Kim Myeong-sin, who translated both the first and third editions of this book, is a developer with a deep understanding of .NET technology, a distinction that rivals the best in Korea.\u003cbr\u003e As author Baekjun Lim, who has written and translated numerous development books, puts it, the combination of an outstanding author like Bill Wagner and an outstanding programmer-translator like Myeongsin Kim is a rare blessing for readers.\u003cbr\u003e Developers who want to code elegantly while considering performance and efficiency will find this smooth, easy-to-read translated book brimming with interesting tips.\u003cbr\u003e\u003cbr\u003e ★ Main contents\u003cbr\u003e Chapter 1 - Key expressions used idiomatically beyond the C# language specification\u003cbr\u003e Chapter 2 - Essential Details for Efficient Resource Management in .NET\u003cbr\u003e Chapter 3 - Generic items needed for reusability and performance improvement \u003cbr\u003eChapter 4 - How to use LINQ, a unique feature and powerful function of C#\u003cbr\u003e Chapter 5 - Exception Handling Techniques Required for Stable Application Development\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e GOODS SPECIFICS \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eDate of publication:\u003c\/strong\u003e November 6, 2017\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003ePage count, weight, size:\u003c\/strong\u003e 300 pages | 542g | 188*235*20mm\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN13:\u003c\/strong\u003e 9791162240038\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN10:\u003c\/strong\u003e 1162240032 \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cspan\u003e\u003c\/span\u003e\n\n\u003c\/center\u003e\n\n\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893456338986,"sku":"154815","price":33.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/e35ff021121847e76e84b322d72d03ad.jpg?v=1765402808","url":"https:\/\/librairie.coreenne.fr\/en\/products\/154815","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}