Тёмный

C# Nullable reference types - No more null reference exceptions! 

Filip Ekberg
Подписаться 4,4 тыс.
Просмотров 30 тыс.
50% 1

Опубликовано:

 

20 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 80   
@Mosern1977
@Mosern1977 4 года назад
This is super useful to get into the compiler. I bet probably 80% of the exceptions I encounter are Null Reference Exceptions. Also I shoutout to a quick Yield video.
@Time21
@Time21 4 года назад
You make me recheck all my projects and rethink about nullable types. Thanks for the info shared.
@FilipEkberg
@FilipEkberg 4 года назад
Thanks for watching the video, glad you found it useful! If you can find even just one potential null reference exception it's a win!
@dethmetaldan666
@dethmetaldan666 2 года назад
Right there with you, Nick
@saeedsubhani7232
@saeedsubhani7232 Год назад
Thanks soooo much I needed to hear the first part where you have to use new to allocate an instance. Thanks for the info, your a life saver.
@qwerty5689
@qwerty5689 4 года назад
Hi, thank you for this great video. It's easy to understand 👍 I also agree that your next vid should be the yield keyword :)
@FilipEkberg
@FilipEkberg 4 года назад
Thank you for the kind words!
@bns663
@bns663 3 года назад
Watched your async course on Pluralsight, best C# tutorial author and tutor!
@FilipEkberg
@FilipEkberg 3 года назад
Thank you so much for those kind words!
@uncommonbg
@uncommonbg 3 года назад
Wow, your way of presenting information is just phenomenal.
@zerg100500
@zerg100500 3 года назад
Omg! Perfect. Not indian english. Thank you for the content!
@GBG731
@GBG731 3 года назад
thank you for a great presentation, it simplified and understanding the work with issue nullable and very handy with key features in C#9
@MrLucki001
@MrLucki001 3 года назад
You are providing very good explanations!!! Please publish more videos in the future.
@FilipEkberg
@FilipEkberg 3 года назад
Thank you so much! I will, soon :)
@niloo195
@niloo195 4 года назад
Thanks for the great content. That would be more great if you get to "yield" later in another video. Cheers!
@MEKTINGEZ
@MEKTINGEZ 3 месяца назад
very informative, what a great Teacher
@fredericoeglesias3976
@fredericoeglesias3976 2 года назад
This was really great, thanks, man!
@shubhamshukla77
@shubhamshukla77 3 года назад
Very good video. Hope you make many more.
@chandanpandey1847
@chandanpandey1847 3 года назад
Thanks for delivering deep diving leacture 👍
@FilipEkberg
@FilipEkberg 3 года назад
My pleasure!
@lambdaboss5528
@lambdaboss5528 3 года назад
Very good and clear explanation. Thank you.
@r3ady150
@r3ady150 2 года назад
I’m starting out with c# kinda and am going through a c# book and doing the activities when I seen an null warning and wanted to see what it meant and ways to fix it. Great vid
@jaswantbisane4848
@jaswantbisane4848 3 месяца назад
Like your content! Please add a video on Events and Delegates.
@johot516
@johot516 3 года назад
Such a great video! Tack så mycket!
@TaliandEyal
@TaliandEyal 2 года назад
Amazing explanation!
@Director414
@Director414 2 года назад
Thanks a lot! very helpful!
@sonomirco3
@sonomirco3 3 года назад
Great video super useful. It would be great to have a video on yield!!!
@antonvdovin8104
@antonvdovin8104 4 года назад
Thanks for explaining!
@fazmercs532
@fazmercs532 2 года назад
Great video.
@SebastianJaschinski
@SebastianJaschinski 3 года назад
Hi Filip, great content and an outstanding presentation. I work as a trainer myself and use OBS for a lot of video training nowadays. What do you use for this awesome green screen effect in the video? Keep this great stuff coming also really like your Pluralsight courses! Thanks
@FilipEkberg
@FilipEkberg 3 года назад
Thank you very much Sebastian! For the green screen and keying it, I use DaVinci Resolve. If you want GPU acceleration you can pay a one-time license fee, otherwise it's a free tool. I can't praise it enough, such a great software that "just works" :) I've used OBS as well, but it's two completely different tools in my opinion. I stitch everything together manually and do my edits in Resolve. What's even better is that if I badly light my green screen, which does happen, I can select multiple shades and tweak the keying until it's good enough. It's not the fastest process, but I quite enjoy the post processing part! Hope this helps
@SebastianJaschinski
@SebastianJaschinski 3 года назад
@@FilipEkberg I agree that OBS and DaVinci Resolve are two completely different tools that serve two distinct purposes. I use OBS for my live video productions via Teams. Actually I use Resolve for my post production stuff as well. Great to see what results you achieve using it. I have also used Final Cut Pro as well as Premiere Pro for video processing. But currently Resolve is my favourite tool for this purpose as well. Thanks for letting me know what you use in your toolchain! It's those tools which make the process enjoyable ;-) Thanks again
@fishzebra
@fishzebra 4 года назад
Very clear thanks. Using Nullable Ref Types with EF POCO classes feels awkward, I've been suppressing it with the null forgivable operator, but maybe 'init' from C#9 will improve this? And yes for Yield
@FilipEkberg
@FilipEkberg 4 года назад
Thanks for watching! 'init' will just ensure that the property won't be changed after it's constructed, so probably wouldn't help in your case I'm afraid. Have you seen this: docs.microsoft.com/en-us/ef/core/miscellaneous/nullable-reference-types ? An interesting read on nullable reference types with EF.
@chyldstudios
@chyldstudios 3 года назад
Nice video!
@zankomag8322
@zankomag8322 3 года назад
OMG, You make such a good content, I like you!
@FilipEkberg
@FilipEkberg 3 года назад
Thank you so much 🙏 More is on the way!!
@chammu6936
@chammu6936 3 года назад
Thank you for the clear explanation .What is the use of #nullable restore and when to use it?
@Alhansy21
@Alhansy21 2 года назад
Thanks for the amazing video, kindly how can I convert the nullable from warning to error?
@FilipEkberg
@FilipEkberg 2 года назад
Thanks! You can enable "Treat Warnings as Errors" in the project properties!
@cchance
@cchance 3 года назад
Thanks always forgot to enable this but should be using if(person is null) instead of ==
@mrmoinn
@mrmoinn 4 года назад
we want a video on "yield" !!!
@FilipEkberg
@FilipEkberg 4 года назад
Will do! Keep an eye out :)
@imikhan83
@imikhan83 4 года назад
Saved my life 🙌❤
@fass3686
@fass3686 2 года назад
thank you :)
@vibes6915
@vibes6915 2 года назад
Greate video
@TheJessejunior
@TheJessejunior 4 года назад
very good!
@balamurugankalyanasundaram426
@balamurugankalyanasundaram426 3 года назад
Good Video Filip. Can you explain about the #nullable restore and where to add the #nullable enable directive either before namespace or class when applying to the class? The indention was to understand the best practices.
@FilipEkberg
@FilipEkberg 3 года назад
Thank you! If you are slowly refactoring a project I would add the #nullable enable directive in the file before the namespace. When you have completely refactored the project, I'd recommend enabling the setting in the project file instead, and remove "#nullable enable" from the files, to make it a bit more clean. Hope this helps!
@crist2000a
@crist2000a 3 года назад
At 12:28 something strange. Default value for string is string.empty. So I do not understand null reference warning.
@FilipEkberg
@FilipEkberg 3 года назад
Default value for string is null
@crist2000a
@crist2000a 3 года назад
@@FilipEkberg Run this and check if there will be null reference: class Program { static void Main(string[] args) { test t = new test(); Console.WriteLine(":" + t.Str + ":"); Console.ReadKey(); } } class test { public string Str { get; set; } }
@FilipEkberg
@FilipEkberg 3 года назад
@@crist2000a Try calling t.Str.Length and see what happens. Reference types in C# are null by default.
@techrelated2417
@techrelated2417 3 года назад
you are awsome!
@TT-ud5gf
@TT-ud5gf 4 года назад
What does the “two question marks” mean? What is it named?
@FilipEkberg
@FilipEkberg 4 года назад
It's name is "null coalescing operator". Simply put, it's a way to check if everything on the left of ?? is null, for example: var name = person.Name ?? "Filip"; If the property "Name" is null, the variable "name" will now contain the value "Filip". What ?? did was to check if person.Name was null, if it was it uses "Filip". The "old" way of writing this would be: string name; if(person.Name == null) { name = "Filip"; } else { name = person.Name; } You can read more about it on the Microsoft docs: docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-coalescing-operator Really handy language feature!
@kiranshetty8342
@kiranshetty8342 2 года назад
Hi Filip . It’s a grt content . Thanks for that . I have an question on nullable types Where in memory are nullable types stored ?? Say for example : int? I = null ; Is it in stack or heap ? Pls explain me with example . Thank you in advance
@FilipEkberg
@FilipEkberg 2 года назад
Reference types are stored on the heap.
@kiranshetty8342
@kiranshetty8342 2 года назад
@@FilipEkberg sorry filip you didn’t get my question ryt . Pls have a second look
@FilipEkberg
@FilipEkberg 2 года назад
@@kiranshetty8342 Nullable types are reference types, when they are instantiated they are stored on the heap. If it's null, you don't have an instance and there's no object allocated.
@ivandrofly
@ivandrofly Год назад
Null object pattern fixes all the nullable issues!
@infeltk
@infeltk Год назад
Microsoft solves probles that created by his own. Not nullable references should exist since C# 1. And there is a lack of keyword which should enforce programmer to check whether method result is null or not null.
@loam
@loam 2 года назад
Fuck, so much new things I haven't touched yet...
@Talk378
@Talk378 3 года назад
I’d dig a video about yield
@FilipEkberg
@FilipEkberg 3 года назад
In the pipeline! 😁 Planned to get it released sooner, but some work got in the way! Stay tuned.
@gurdeepgss
@gurdeepgss 2 года назад
I yeild 😁
@ufukata6789
@ufukata6789 2 года назад
"Object reference not set instance object" I hate this error
@19E37-e3i
@19E37-e3i Год назад
Pluralsight? Thought I'd recognized your voice. Good breakdown. Your low sub count doesn't reflect the quality of your content.
@FilipEkberg
@FilipEkberg Год назад
Thank you, that is very kind! You are absolutely correct, I have a whole lot of courses in Pluralsight!
@loam
@loam 2 года назад
If they recreated C# from scatch without nulls, I think there would be some another issue, caused by other workarounds that would have been required to deal with the root causes, which made them introduce nulls in the first place; and that another issue because of those workarounds would have costed just as much, that's my theory))
@yogxoth1959
@yogxoth1959 2 года назад
Did you stop making videos?
@FilipEkberg
@FilipEkberg 2 года назад
Unfortunately it's been a while since I put new content on RU-vid. I've got a lot of new content published on Pluralsight ( www.pluralsight.com/authors/filip-ekberg ) and I do have a long "todo" list with videos I want to make for this channel, but other things had to take priority for a while!
@yogxoth1959
@yogxoth1959 2 года назад
@@FilipEkberg I understand. Thanks for replying! I enjoy your content.
@gibinoza8868
@gibinoza8868 3 года назад
watched best at 1.5x
@FilipEkberg
@FilipEkberg 3 года назад
🙏
@澳贼
@澳贼 2 года назад
why your head looks so big?
@FilipEkberg
@FilipEkberg 2 года назад
Probably because the angle of the camera.
@澳贼
@澳贼 2 года назад
@@FilipEkberg thank you for your great video!
@koooooliooooo6399
@koooooliooooo6399 8 месяцев назад
because he is very smart
Далее
Кольцо Всевластия от Samsung
01:00
Просмотров 196 тыс.
Шоколад приходит на Землю.
00:23
Просмотров 135 тыс.
Manage Nulls Like a Boss and Never Fail!
21:43
Просмотров 14 тыс.
C# 9.0: Pattern Matching
16:41
Просмотров 17 тыс.
WHY IS THE HEAP SO SLOW?
17:53
Просмотров 251 тыс.
C# 9.0: Record types
9:24
Просмотров 26 тыс.
Working with Null in .NET 6 and C# 10
57:26
Просмотров 36 тыс.
Nullability and Null Operators in C#
21:57
Просмотров 4,6 тыс.
Being Competent With Coding Is More Fun
11:13
Просмотров 97 тыс.
Кольцо Всевластия от Samsung
01:00
Просмотров 196 тыс.