In C #, you usually don’t use one bool*, which you can only use in unsafe code (which generates a lot of other things like pinning objects, etc.). A bool*will be a pointer to a boolean value. The pointer is 4 bytes long and cannot be converted to lossless bytes.
Why do you need it and where do you come across? Typically, there is no easy way to use pointers in C # unless you have a special requirement (i.e., an API call, but which you can solve with P / Invoke).
EDIT: (because you edited your q.)
The following code fragment shows how to get the address of a logical variable and how to convert this pointer to int(conversion to byteimpossible, we need four bytes).
unsafe
{
bool* boolptr = &mybool;
int* intptr = (int*)boolptr;
int myint = *intptr;
int myptraddress = (int) intptr;
}
" 4 ". 4- , , . : # , ++. # CLR, , 4 32- , , . , , bool * ( bool) - , .
. , : , , .