J'utilise VSTS2008 + C# + .Net 3.0. Voici mon code et l'exception connexe de ADO.Net. Voici mon entrée deux chaînes sous forme binaire et sous forme de texte, des idées ce qui ne va pas? Pourquoi les deux différentes chaînes seront traitées de la même manière par ADO.Net?très étrange chaîne unique en C#
Message d'exception:
An unhandled exception of type 'System.Data.ConstraintException' occurred in System.Data.dll
Additional information: Column 'Name' is constrained to be unique. Value '������' is already present.
chaînes d'entrée sous forme binaire et sous forme de texte:
alt text http://i32.tinypic.com/23lidcx.jpg
alt text http://i29.tinypic.com/250p3ib.jpg
StackOverflow n'affiche pas correctement mon code pour les chaînes , voici un aperçu de l'écran pour savoir à quoi il ressemble réellement dans mon éditeur VSTS 2008.
alt text http://i28.tinypic.com/2j10ehg.jpg
Mon code:
static void Main(string[] args)
{
string[] buf = new string[] { "����", "������" };
CompareInfo ci = System.Globalization.CultureInfo.InvariantCulture.CompareInfo;
ci.Compare(buf[0], buf[1], CompareOptions.IgnoreWidth);
Console.WriteLine (String.Compare(buf[0], buf[1], StringComparison.InvariantCultureIgnoreCase));
DataTable bulkInserTable = new DataTable("BulkRequestTable");
bulkInserTable.CaseSensitive = true;
DataColumn column = null;
DataRow row = null;
// add Keyword column to datatable
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "Name";
column.ReadOnly = true;
column.Unique = true;
bulkInserTable.Columns.Add(column);
foreach (string item in buf)
{
row = bulkInserTable.NewRow();
row["Name"] = item;
bulkInserTable.Rows.Add(row);
}
}
Avez-vous essayé de tester la valeur de buf [0] == buf [1]? Je ne peux pas vraiment dire ce qui se passe là-bas avec " " dans les cordes. – JoshJordan
@JoshJordan, voir liens image –
Merci JoshJordan, de String.Compare, la sortie est 0, donc cela signifie qu'ils sont identiques. Du point de vue de l'affichage (perspective œil humain), ils sont différents. Voici un aperçu de l'écran de VSTS 2008, des idées sur ce qui ne va pas? http://i28.tinypic.com/2j10ehg.jpg – George2