Bonjour,

Je vous remercie beaucoup de bien vouloir m'aider à répondre à ces quelques questions .


1-Un utilisateur saisit une date au format local.

Cette date est affectée à une variable de type String nommée inputDate.

La date valide doit être affectée à une variable de type DateTime nommée validatedDate.

On souhaite valider la date saisie et la convertir en temps universel (UTC).

Voici le code écrit pour cela

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
bool validateDate = DateTime.TryParse(inputDate, CultureInfo.Currentculture, DateTimeStymes.AdjusttoUniversal | DateTimeStyles.Assumelocal, out validatedDate);
La signature de la fonction DateTime.TryParse est la syuivante

DateTime.TryParse(string, IFormatProvider, DatetimeStyles, DateTime)

Cette signature signifie-t-elle que la date saisie dans inputDate est saisie dans un format propre à la France (paramètre CultureInfo.CurrentCulture), puis va être traduite (convertie)
en heure UTC(d'après le paramètre DateTimeStyles.AdjustToUniversal) ou en heure Locale(paramètre DateTimeStyles.AssumeLocal), puis retournée à la variable validatedDate de type DateTime .

Si c'est bien le cas, pourquoi indiquer au niveau du deuxième paramètre DateTimeStyles.AssumeLocal , qui indique que l'heure saisie, est convertie en heure locale, alors que la demande est que l'heure soit convertie en heure universelle UTC.

Je vous remercie beaucoup de votre aide sur ce point.

2-Pour ce qui est de l'énumération PerformanceCounterType, une des valeurs de cette enumération est SampleBase, défine ainsi


SampleBase:Compteur de base contenant le nombre d'interruptions d'échantillonnage prises
et utilisé comme dénominateur dans la fraction de l'échantillonnage.
La fraction de l'échantillonnage est le nombre d'échantillons qui avaient la valeur 1 (ou true) pour une interruption d'échantillon.
Vérifiez que cette valeur est supérieure à zéro avant de l'utiliser comme dénominateur dans un calcul de SampleFraction.

Je ne comprends pas les termes de "nombre d'interruptions d'échantillonnage prises
et utilisé comme dénominateur dans la fraction de l'échantillonnage. "

Je ne comprends pas non plus cette partie de phrase
"La fraction de l'échantillonnage est le nombre d'échantillons qui avaient la valeur 1 "

Je vous remercie de bien vouloir m'aider à comprendre tout cela puis me dire, en clair ce que signifie 'SampleBase' par rapport au type de performance d'un counter.


3-Pour ce qui est de l'attribut DataMember, parfois il est mentionné ainsi
[DataMember] et parfois ainsi[DataMember()], comme on peut le voir dans l'exemple ci dessous

Pouvez-vous m'expliquer la différence entre [DataMember] et [DataMember()].
Est-ce parce que dans le cas de FirstName , il s'agit d'un champ alors on indique [DataMember()] au niveau du contrat de données et que pour LastName , il s'agit 'une property, alors on écrit [DataMember].

Pouvez-vous me dire également ce qui signifie [DataMember(Name = "ID")].
Name est il le nom du membre pour la sérialization ?

Merci beaucoup à vous.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
 
using System;
using System.Collections;
using System.IO;
using System.Runtime.Serialization;
using System.Xml;
 
// You must apply a DataContractAttribute or SerializableAttribute
// to a class to have it serialized by the DataContractSerializer.
[DataContract()]
class Person : IExtensibleDataObject
{
    private string LastNameValue;
    // Apply the DataMemberAttribute to fields (or properties)
    // that must be serialized.
    [DataMember()]
    public string FirstName;
 
    [DataMember]
    public string LastName
    {
        get { return LastNameValue; }
        set { LastNameValue = value; }
    }
 
    [DataMember(Name = "ID")]
    public int IdNumber;
Merci encore beaucoup à vous de votre aide sur ces points.

Bien cordialement

curieuse_prog