That would be just readonly ref struct Span { readonly ref T reference; readonly int length; }. All the heavy lifting is done by VM/GC to track such pointers (byrefs) and correctly handle the differences when they point to object interiors, stack or unmanaged memory. It's quite a bit low-level, though I suppose you could emulate it with ArraySlice-style structure...
Loving the Hanselman + Toub collaboration. I agree this one was much more user focused than the others. I still love seeing under the covers of c#. I would recommend span and ref structs for a future episode.
Thanks again, Stephen and Scott, great as usual. 👍🏼 I'm very happy that you don't use a dark theme, and also that you use a big zoom factor. 👍🏼👍🏼 I can hardly wait for the next episode, thank you. 👏🏼
Thank you Scott and Stephen. Simply the best series of code videos I’ve seen. Love the choice of topics. I use them all, but still had an underlying fear that I didn’t really understand them and wasn’t using them correctly. All now totally demystified and I’m going back through code to clean it up. Oh, that feeling of clean code with no niggling gremlins lurking.
What a brilliant concept to create a C# code file rather than using reflection.emit. By allowing the compiler to optimize code execution before it's statically integrated into the binary, as opposed to compiling it at runtime, efficiency is significantly enhanced. This capability is exclusive to constant regex strings, as they are transmitted as attributes.
I would be interested in a discussion around Span, and why, as an example, it can't be stored on the heap. Not a 1 hour talk though, but perhaps as part of a bigger topic. Maybe a deep dive on the garbage collector would be an idea. In any case, thank you both so much for this series of videos, keep churning them out as fast as you can, I've learned something new from all of them so far and to the level you guys are taking it, I'm sure I will learn something from every one you release, so keep'em coming.
Please do an episode where you implement a Source Generator. They're so cool, but there isn't that much deep diving yet easy to understand content about it.
Fun thing. I learned how to use Regex by reading the ME editor manual that came with MS C/C++ 5.1 (that was the late 80's). Roll on 40 years and in my last job I was considered a mage because I could do regex (our product exposed the Java RE engine for config settings). The support team worshipped me 🙂
the fact that you said "mage" instead of "wizard" is so funny to me for some reason. probably because I see the word mage only in games whereas I've heard things like "regex wizard"/"x wizard" a lot before.
We need more. Please a deep dive on Expression and Expression Trees !
Could we get a Span from scracth? 👀
yes please!
Yep. Soon
@@shanselman keep cooking my man, insane duo.
That would be just readonly ref struct Span { readonly ref T reference; readonly int length; }. All the heavy lifting is done by VM/GC to track such pointers (byrefs) and correctly handle the differences when they point to object interiors, stack or unmanaged memory. It's quite a bit low-level, though I suppose you could emulate it with ArraySlice-style structure...
@@neonmidnight6264not exactly
Loving the Hanselman + Toub collaboration. I agree this one was much more user focused than the others. I still love seeing under the covers of c#. I would recommend span and ref structs for a future episode.
Span is next
Will really like to hear Deep Dive AsyncLocal
Thank you Stephen Toub and Scott Hanselman for these videos.
Even with such a busy schedule you're teaching us.
Loving this series so far and very useful topics being covered.
This is really gold. I would appreciate a deep dive into reflection.
I didn't think a session about regex could become so interesting. I'm glad I clicked to start playing. Thanks for the series! It's been awesome!
Thanks again, Stephen and Scott, great as usual. 👍🏼
I'm very happy that you don't use a dark theme, and also that you use a big zoom factor. 👍🏼👍🏼
I can hardly wait for the next episode, thank you. 👏🏼
Thank you Scott and Stephen. Simply the best series of code videos I’ve seen. Love the choice of topics. I use them all, but still had an underlying fear that I didn’t really understand them and wasn’t using them correctly. All now totally demystified and I’m going back through code to clean it up. Oh, that feeling of clean code with no niggling gremlins lurking.
Thanks so much for this series! What a dream team here, plus most relevant topics.
What a brilliant concept to create a C# code file rather than using reflection.emit. By allowing the compiler to optimize code execution before it's statically integrated into the binary, as opposed to compiling it at runtime, efficiency is significantly enhanced. This capability is exclusive to constant regex strings, as they are transmitted as attributes.
I would be interested in a discussion around Span, and why, as an example, it can't be stored on the heap. Not a 1 hour talk though, but perhaps as part of a bigger topic. Maybe a deep dive on the garbage collector would be an idea.
In any case, thank you both so much for this series of videos, keep churning them out as fast as you can, I've learned something new from all of them so far and to the level you guys are taking it, I'm sure I will learn something from every one you release, so keep'em coming.
Span is next
@@shanselman Oh you’re such a tease, you can’t just throw that out there well ahead of the video. Looking forward to it!
A deep dive session on SIMD please.
Very very valuable series of videos. Thanks for organizing it and share this content.
This series should be C# 101 learning library. I hope we ll see more content like this. Thanks for your time Stephen and Scott you are rock.
Please do an episode where you implement a Source Generator.
They're so cool, but there isn't that much deep diving yet easy to understand content about it.
Friend: Which Series are you watching these days?
Me: Deep Dot Net.
Fun thing. I learned how to use Regex by reading the ME editor manual that came with MS C/C++ 5.1 (that was the late 80's). Roll on 40 years and in my last job I was considered a mage because I could do regex (our product exposed the Java RE engine for config settings).
The support team worshipped me 🙂
the fact that you said "mage" instead of "wizard" is so funny to me for some reason. probably because I see the word mage only in games whereas I've heard things like "regex wizard"/"x wizard" a lot before.
What a great way to finish the day 🤩
The plural of regex is regrets
ha ha
😂😂😂
Too true
haha 😂
Finally a new Episode! 🎉
I love Stephen. Great content.
Great talk !! Should have 300k views instead of 23k.
Another amazing talk. Please could you invite Tanner Gooding to talk about Tensors and ML libraries, Intrinsics, Numerics and Math Libries? ❤❤
I’d love to see a deep dive on dependency injection!!
A regex for email address that meets all of the various RFCs that can apply, is basically so ridiculous as to be impossible.
The string syntax stuff is awesome. Can this be user defined? I.e. can I make my own StringSyntax and specify highlighting rules
Please keep the content over 300. This is like a roller coaster from 400 to 50 level multiple times a minute.
kid in the background feels the regex :D
🤣🤣🤣🤣🤣🤣🤣🤣
Great video, I've not seen a deep dive this way into Regex before... almost feels like it's not that deep from the journey being "structured" so well
Toub is the best guest by far. But, can we dark theme for the love of all that is holy?
God bless these vids
We need regex for replacing. I find so many instances where I need to capitalize the first letter when replacing text
Great content!
Thanks again, Guys.
the kids playing in the background made it tougher to follow. love kids.. can't pay attention to both lmao
reg. Regex Groups, the Zeroth group is always the complete match, whether or not parentheses are used.
@dotnet It's really upsetting when you're stopping weekly videos!
More Stephane please
19:54 well technically 6 bytes
Another amazing video but I still can't do regex!
U r the best!
thanks you
the regex source generated is so well documented that it makes me feel like it is AI generated haha
That's all great and all, but dark mode please. :0
🥰
You have a problem which needs to be solved through Regex - now you have two problems.
Love these videos, but for a series called "deep dive" a lot of it seems to be targeted at beginners.
Primeagen says "squeal"....
when Stephen says "we" about creating C# or .NET I always think that he single handedly created C# and .NET
Royal Performance We
Imagine writing something this amazing and knowing that 99.99% of people who use it won't know how good it is AND they probably won't need to 😮