|
Sharma Dinesh Kumar wrote: Can i also Declare DateTime
According to the MS documentation yes.
Sharma Dinesh Kumar wrote: as nullable so i can save null in database in sql server 2005 if date is blank.
I suppose not.SQL NULL value matches to System.DBNull.Value not to C# null reference.So you should replace null with System.DBNull.Value when passing commands to SQL Server like the sample bellow.
void Add(int? value)
{
command.Parameters.Add("@foo").Value = (object)value ?? DBNull.Value;
}
Life is a stage and we are all actors!
|
|
|
|
|
Well, to my knowledge you don't have to. Using System.DBNull.Value is required when you retrieve data from nullable column in database. But if you pass parameter through SqlCommand.Parameters, .NET does some magic and sends data, that SQL server understands as DBNull value.
However, when you retrieve data from database, the value in SqlDataReader is DBNull.Value, and it's of course not the same as null in C#.
|
|
|
|
|
lukasz_nowakowski wrote: .NET does some magic and sends data, that SQL server understands as DBNull value.
Very interesting.Are you sure that it's universal and works with older .NET versions like 1.1 .
Life is a stage and we are all actors!
|
|
|
|
|
Well, I have no idea. I never developed in .NET 1.1. But you can try and pass null to some procedure and see what happens. I don't see why shouldn't it work...
|
|
|
|
|
Official ADO.NET documentation here said:
When you send a null parameter value to the server, the user must specify DBNull, not null.
So automatic conversion from null to DBNull.Value isn't even documented.
Life is a stage and we are all actors!
|
|
|
|
|
That's very very strange. I don't remember using DBNull... and I have procedures (mostly for searching tables), that take some parameters, that can be null, and they work. Don't know why. But when I think about it, I guess maybe .NET just doesn't send parameter, that has a value of null and sends parameter that has DBNull. Well, I wouldn't find out, cause I always interact with database with stored procedures and this feature doesn't affect me. But if you use prepared commands (or what they call them), it can be an issue. Maybe someone has some free time to check it (cause I'm quite busy right now). If not, I'll try to check it later today and write what I found out here.
|
|
|
|
|
? is used for nullable types when used like this.
This means a null or an integer value can be passed into the method.
My signature "sucks" today
|
|
|
|
|
i have a login form in my windows application, i want to persist user name value when user login into the application back.
so How to persist user name value in textbox in windows application like web application?
|
|
|
|
|
There are mainly two ways to do so.
1. You can store user name in app.config file programmatically and then
you can access it from there whenever you required.
2. You can store it in custom user class object and access it from the
object itself whenever you require it.
[Either you make property or variable in custom class to store the value]
HTH
Jinal Desai - LIVE
Experience is mother of sage....
|
|
|
|
|
Hi,
I want to build REST based services and for that would like to use Web Project template in my Visual Studio. How can i add that any options need to be enabled ?
|
|
|
|
|
|
I have a hierarchy of classes, all of which implement this interface:
public class IRuleObject
{
int Sequence { get; set; }
}
Here's the top level class:
[Serializable]
[XmlRoot("Group")]
public class RuleGroup : IRuleObject
{
[XmlAttribute("ID")]
public int GroupID { get; set; }
[XmlAttribute("Sequence")]
public int Sequence { get; set; }
[XmlAttribute("Name")]
public string GroupName { get; set; }
[XmlAttribute("Active")]
public bool Active { get; set; }
[XmlElement("Rules")]
public List<Rule> Rules { get; set; }
}
You can see where it implements the interface.
When I attempt to serialize I get
Type 'RulesEngine.IRuleObject' in Assembly 'RulesEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
If I remove the interface, all works well. How do I set this up so i can use the interface & still serialize the
classes?
Everything makes sense in someone's mind
|
|
|
|
|
I'm just curious as I'm not sure this is the problem or if this will work, but did you try adding the Serializable keyword to the interface?
|
|
|
|
|
LOL - I figured that out right after I posted.
I didn't think that you could mark an interface as serializable.
Everything makes sense in someone's mind
|
|
|
|
|
it always takes me several iterations to get Serialization to not throw errors...and then a few more iterations to actually get it to output it the way I'm expecting it to.
It's helpful, but it can sure be a pain...especially with nested classes, inherited classes, and apparently interfaces as well.
|
|
|
|
|
Agreed.
Actually I first tried to base all my classes of an abstract, but that's nearly impossible with serialization, so
I decided that an interface would work.
In either case, you're right. It's a PITA to set up but very useful. On top of all this, I'm base64 encoding
the file after it's serialized. Makes it a bit tough to open it & look at it.
Everything makes sense in someone's mind
|
|
|
|
|
Kevin Marois wrote: Makes it a bit tough to open it & look at it.
If you prefer the data isn't human readable, I recommend you use binary serialization. It's also a lot faster (which may not be an issue for you, but you kill two birds with one stone).
/ravi
|
|
|
|
|
Hi guys,
Last week, I rolled an app out to production and wouldn't you know, today someone comes to tell me "We're not going to be able to use Port 20 for FTP. Production Management has a separate data port for us." Reasoning is irrelevant for this discussion, but that left me trying to surgically modify my Upload code to allow for a different port to be specified. It ended up being easy, but the way it works kind of left me scratching my head.
For anyone that needs to replicate this, all you have to do is specify your port number after the host name. Really easy. ...But, the thing that puzzled me is that this worked while I had the UsePassive property of my ftpWebRequest set to true (I tested before I had gone in and checked the request's properties)
Since I had specified for the ftpwebrequest to sent a PASV command to the server, why was I able to dictate to the server which port number it was going to be receiving data on?
RFC 959 Section 3.2 states that the client may specify an arbitrary port via a PORT command, but I did not issue a PORT command...I issued a PASV command. For this to work, there must be something else going on under the covers of FtpWebRequest.
Can anyone shed light onto why I was able to specify a port while in Passive mode?
"I need build Skynet. Plz send code"
|
|
|
|
|
Hi all,
I am a beginner in C# and .Net
I have been reading the Wrox Visual C# 2008 book, and I don't understand and see the use of Iterators.
This might sound a bit dumb but I need to ask because I don't understand at all.
I had a look at MSDN but I am still feeling unhappy!
So here is what I have understood so far:
- foreach loop implements IEnumerable Interface
- You implement IEnumerable for a class member and IEnumerator for a class
- With yield keyword, you don't need to implement the members IEnumerable (Current, MoveNext(),...)
Is it correct?
And what is the use of Iterators? What is the difference with the foreach loop?
Could someone give me some insight please?
Bon_chan
|
|
|
|
|
bon_chan wrote: Is it correct?
No, all of that is wrong. I'll try to keep it simple, which may make it slightly incorrect. Here you go:
Enumerator, iterator and enumerable are pretty much the same. They offer an abstracted way to enumerate items in a collection, which means getting access to them, one after the other, in sequence.
foreach(someType varName in someCollection) does not implement IEnumerator nor IEnumerable; it requires someCollection to implement IEnumerable, as it will use an enumerator on someCollection and loop its way through it; you could do that yourself, based on a for loop and an explicit call to someCollection.GetEnumerator().
yield is a keyword that got introduced later; it helps in enumerating virtual collections, i.e. collections that do not really exist as a set of elements all available concurrently. You should not worry about it at all, until you fully understand everything else about enumerators.
Summary: it is all about enumerating; you don't really need it; it can come in handy; it can be virtualized. Take it one step at a time.
PS: Wrox books have good reputation; you should study some more. And experiment a bit too.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
bon_chan wrote: - foreach loop implements IEnumerable Interface
Foreach is just an instruction. It does not implement anything.
bon_chan wrote: You implement IEnumerable for a class member and IEnumerator for a class
No. See here.
bon_chan wrote: With yield keyword, you don't need to implement the members IEnumerable (Current, MoveNext(),...)
Yield is just a keyword. It has nothing to do with whether you need to implement some IEnumerable methods or not.
My signature "sucks" today
|
|
|
|
|
OK Thanks for your answers.
I understand a bit better, but yet I am still missing some parts.
Let's say we have a class called MyClass
So if we want to use foreach instruction, My Class must implement IEnumerable.
And then because IEnumerable contains GetEnumerator() signature, we have to implement that method in MyClass.
And because GetEnumerator() returns an IEnumerator, we need to implement IEnumerator interface as well (Reset(), MoveNext(), Current()). Is that correct?
But why does my Wrox book say:
Here is an extract of my wrox book:
<<
- To iterate over a class, use a method called GetEnumerator() with a return type of IEnumerator.
- To iterate over a class member, such as a method, use IEnumerable.
>>
I am confused
And why does the following code works without implementing IEnumerable???
<br />
using System;<br />
using System.Collections;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Text;<br />
<br />
namespace Ch11Ex03<br />
{<br />
public class Primes<br />
{<br />
private long min;<br />
private long max;<br />
<br />
public Primes(): this(2, 100)<br />
{<br />
}<br />
<br />
public Primes(long minimum, long maximum)<br />
{<br />
if (min < 2)<br />
{<br />
min = 2;<br />
}<br />
else<br />
{<br />
min = minimum;<br />
}<br />
max = maximum;<br />
}<br />
<br />
public IEnumerator GetEnumerator()<br />
{<br />
for (long possiblePrime = min; possiblePrime <= max; possiblePrime++)<br />
{<br />
bool isPrime = true;<br />
for (long possibleFactor = 2; possibleFactor <=<br />
(long)Math.Floor(Math.Sqrt(possiblePrime)); possibleFactor++)<br />
{<br />
long remainderAfterDivision = possiblePrime % possibleFactor;<br />
if (remainderAfterDivision == 0)<br />
{<br />
isPrime = false;<br />
break;<br />
}<br />
}<br />
if (isPrime)<br />
{<br />
yield return possiblePrime;<br />
}<br />
}<br />
}<br />
}<br />
}
<br />
class Program<br />
{<br />
static void Main(string[] args)<br />
{<br />
Primes primesFrom2To1000 = new Primes(2, 1000);<br />
foreach (long i in primesFrom2To1000)<br />
{<br />
Console.Write("{0} ", i);<br />
}<br />
Console.ReadKey();<br />
}<br />
}<br />
|
|
|
|
|
I have a simple 2d map (similar to classic sonic look) however I am not sure how to make my character walk up the map as it is not flat land (has slanted flooring).
I have though of per pixel detection but this sounds sloppy and expensive just for the flooring.
I have also though of polygon based collision however I only know how to find the slope of the two points but cant figure out how to change the sprites y position so that it can moove up the slope. The only way i can get it to work is by having many polygons plotting each point to make up the slope but its not very fun this way.
I read but did not find it helpful as the sprite just moves to the next way points y axis !
|
|
|
|
|
Are you working with XNA? There are some pretty good sprite tutorials that can help you out with this. The RPG tutorial that was posted at xnatutorial.com a few years ago did a pretty good job of assisting with making partial tile movements (would allow your character to move to its destination tile in framerate based increments so that he would go through a sprite based walk cycle) Let me see if I can find the link for you...or maybe someone else will beat me to it.
[Edit: I had the wrong tutorial site in mind. XNATutorial was not it, and I can't remember the exact location of it at the moment. If I recall it, I'll try and post the location. But, until then, you might want to check here[^]
[Edit: I remembered the location of the original tutorial I was thinking of, but this is gonna be a bummer. It was at www.ziggyware.com and Ziggy hasn't had the site up in over a year. He had some trouble with hackers and finally just shut the thing down. Hopefully that other tutorial list will give you the information you need]
"I need build Skynet. Plz send code"
modified on Monday, May 24, 2010 3:01 PM
|
|
|
|
|
Hmmm....another thought...without a tutorial. Have you thought of rotating your character based upon the slope of the "terrain" and set it's bottom left corner to snap to the top left corner of the ground? (Assuming that your Sonic runs on top of the ground, of course )
...That would put your character at the correct x location, ground his "back" point correctly and then the rotation of the character based upon the terrain slope should produce an effect that would keep him in contact with the ground as if he were running on a flat surface (Assuming your math is correct)
"I need build Skynet. Plz send code"
|
|
|
|