u盘无法格式化问题

以上由提供
当前位置:
> 详细页面
解决U盘显示0字节无法格式化问题有妙招
时间: 15:24来源:作者:yongxin
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
系统教程栏目
热门系统教程
在笔记本电脑早已普及到会议室的这个年代,商务人士拿笔记...
热门系统下载
最新系统教程
热门软件下载
Copyright&2011 系统之家(www.xitongzhijia.net) 版权所有 闽ICP备号-1
本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!
如侵犯到您的权益,请及时通知我们,我们会及时处理。1775人阅读
可以用%llx,可以把64位数格式化为十六进制数,而%x只能格式化到32位。
如char buffer[1024];
sprintf (buffer, &%llx&, unsigned long long ());
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:62587次
积分:1170
积分:1170
排名:千里之外
原创:50篇
(1)(1)(1)(9)(1)(6)(1)(5)(3)(3)(2)(2)(5)(5)(2)(1)(9)1.WPF加载时进行全局设置
Newtonsoft.Json.JsonSerializerSettings setting = new Newtonsoft.Json.JsonSerializerSettings();
JsonConvert.DefaultSettings = new Func&JsonSerializerSettings&(() =&
setting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateF
setting.DateFormatString = "yyyy-MM-dd HH:mm:ss";
2.Newtonsoft.Json 序列化和反序列化 时间格式
链接:/litian/p/3870975.html
1.JSON序列化
string JsonStr= JsonConvert.SerializeObject(Entity);
A a=new A();
a.Name="Elain00";
a.Hobby="eat eat";
string jsonStr=JsonConvert.SerializeObject(a);
2.JSON反序列化
string jsonstr = "jsonString";Class model = JsonConvert.DeserializeObject&Class&(jsonstr);
string JsonStr='"{\'Name\':\'Elaine00\',\'Hobby\':\'eat eat\'}";
A a=JsonConvert.DeserializeObject&A&(JsonStr);
&3.时间格式处理
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
Response.Write(JsonConvert.SerializeObject(bll.GetModelList(strWhere), Newtonsoft.Json.Formatting.Indented, timeFormat));
&4.扩展方法
public static class NewtonJSONHelper
public static string SerializeObject(this object obj)
return JsonConvert.SerializeObject(obj, Formatting.Indented, new JsonSerializerSettings{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore});
public static T DeserializeObject&T&(this string data)
return JsonConvert.DeserializeObject&T&(data, new JsonSerializerSettings
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
5.日期处理
public class LogEntry
public string Details { }
public DateTime LogDate { }
public void WriteJsonDates()
LogEntry entry = new LogEntry
LogDate = new DateTime(, 0, 0, 0, DateTimeKind.Utc),
Details = "Application started."
// default as of Json.NET 4.5
string isoJson = JsonConvert.SerializeObject(entry);
// {"Details":"Application started.","LogDate":"T00:00:00Z"}
JsonSerializerSettings microsoftDateFormatSettings = new JsonSerializerSettings
DateFormatHandling = DateFormatHandling.Micro
public class LimitPropsContractResolver : DefaultContractResolver
private string[] props =
public LimitPropsContractResolver(string[] props)
this.props =
protected override IList&JsonProperty& CreateProperties(Type type, MemberSerialization memberSerialization)
IList&JsonProperty& list = base.CreateProperties(type, memberSerialization);
IsoDateTimeConverter iso = new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
IList&JsonProperty& listWithConver = new List&JsonProperty&();
foreach (var item in list)
if (props.Contains(item.PropertyName))
if (item.PropertyType.ToString().Contains("System.DateTime"))
item.Converter =
listWithConver.Add(item);
return listWithC
softDateFormat
string microsoftJson = JsonConvert.SerializeObject(entry, microsoftDateFormatSettings);
// {"Details":"Application started.","LogDate":"\/Date(0)\/"}
string javascriptJson = JsonConvert.SerializeObject(entry, new JavaScriptDateTimeConverter());
// {"Details":"Application started.","LogDate":new Date(0)}
2.JSON反序列化
string jsonstr = "jsonString";
Class model = JsonConvert.DeserializeObject&Class&(jsonstr);
string JsonStr='"{\'Name\':\'Elaine00\',\'Hobby\':\'eat eat\'}";
A a=JsonConvert.DeserializeObject&A&(JsonStr);
一般是对于值类型的处理,通过设置jSetting.DefaultValueHandling的值来确定,该值为枚举类型.
DefaultValueHandling.Ignore
序列化和反序列化时,忽略默认值
DefaultValueHandling.Include
序列化和反序列化时,包含默认值
给成员设置默任值,用到"DefaultValue(value)"特性,当然别忘了引入命名空间"ponentModel",假设员工的年龄默认值为30
[DefaultValue(30)]
public int Age { }
序列化时我想忽略为默认值的成员
Staff jack = new Staff { Name = "Jack", Age = 30, Gender = "Male", DepartmentName = "Personnel Department", Leader = null };
var jSetting = new JsonSerializerSettings();
jSetting.DefaultValueHandling = DefaultValueHandling.I
string json = JsonConvert.SerializeObject(jack,jSetting);
Console.WriteLine(json);
3.忽略某些属性
首先介绍Json.Net序列化的模式:OptOut 和 OptIn.
默认值,类中所有公有成员会被序列化,如果不想被序列化,可以用特性JsonIgnore
默认情况下,所有的成员不会被序列化,类中的成员只有标有特性JsonProperty的才会被序列化,当类的成员很多,但客户端仅仅需要一部分数据时,很有用
假如客户仅仅需要员工的姓名,此时
[JsonObject(Newtonsoft.Json.MemberSerialization.OptIn)]
public class Staff
[JsonProperty]
public string Name { }
public int Age { }
public string Gender { }
public string DepartmentName { }
public Staff Leader { }
Staff jack = new Staff { Name = "Jack", Age = 30, Gender = "Male", DepartmentName = "Personnel Department", Leader = null };
string json = JsonConvert.SerializeObject(jack);
如果客户不想要员工的领导信息
public class Staff
public string Name { }
public int Age { }
public string Gender { }
public string DepartmentName { }
[JsonIgnore]
public Staff Leader { }
Staff tom = new Staff { Name = "Tome", Age = 42, Gender = "Male", DepartmentName = "Personnel Department"};
Staff jack = new Staff { Name = "Jack", Age = 30, Gender = "Male", DepartmentName = "Personnel Department", Leader = tom };
string json = JsonConvert.SerializeObject(jack);
Console.WriteLine(json);
4.支持非公共成员
Json.Net序列化对象时,默认情况下仅仅序列化公有成员,如果想要非公有成员也被序列化,就要在该成员上加特性"JsonProperty"
5.日期处理
  JsonConverters会在序列化和反序列化时被用到。JsonConverters允许手动对Json的控制。当Json的结构很复杂和你想改变一个类型怎么样被序列化时,这是非常有用的。当一个JsonConverters被添加到JsonSerializer时,它会检查每一要被序列化和反序列化的值,并返回CanConvert,如果为True,则JsonConverter读和写这个值;需要注意的是,虽然JsonConverter能够使你可以完全的控制Json的值,但是很多的Json.Net序列化的特性被限制,像是类型名称和引用处理。所有的JsonConvert都在命名空间&"Newtonsoft.Json.Converters"下
5.1IsoDateTimeConverter&和&JavaScriptDateTimeConverter
这是Json.Net中自带的两个处理日期的类,默认是IsoDateTimeConverter&,它的格式是"yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK".另一个是JavaScriptTimeConverter,它的格式是 "new Date(ticks)",其实返回的是一个JavaScript的Date对象.有两种方式来应用JsonConverter,改变Json序列化和反序列化的行为.
5.1.1如果你要序列化的日期格式是统一的,可以考虑如下方式
假设我们为员工添加两个日期类型的成员,出生日期和入职日期
public class Staff
public string Name { }
public int Age { }
public string Gender { }
public string DepartmentName { }
public Staff Leader { }
public DateTime BirthDate { }
public DateTime EmploymentDate { }
我们的客户要求日期类型的成员返回javascript的日期对象
Staff jack = new Staff { Name = "Jack", Age = 30, Gender = "Male",
DepartmentName = "Personnel Department", BirthDate = new DateTime(), EmploymentDate = new DateTime() };
string json = JsonConvert.SerializeObject(jack,new JavaScriptDateTimeConverter());
Console.WriteLine(json);
5.1.2如果想要不同的日期类型成员序列化后,以不同的形式显示.
现在我们的客户要求出生日期以"ISO"标准日期格式返回,入职日期以Javascript的Date对象格式返回,修改我们的员工类
public class Staff
public string Name { }
public int Age { }
public string Gender { }
public string DepartmentName { }
public Staff Leader { }
[JsonConverter(typeof(IsoDateTimeConverter))]
public DateTime BirthDate { }
[JsonConverter(typeof(JavaScriptDateTimeConverter))]
public DateTime EmploymentDate { }
是的,通过特性"JsonConverter"来实现差异化的序列化:
Staff jack = new Staff { Name = "Jack", Age = 30, Gender = "Male",
DepartmentName = "Personnel Department", BirthDate = new DateTime(), EmploymentDate = new DateTime() };
string json = JsonConvert.SerializeObject(jack);
Console.WriteLine(json);
5.2自定义日期格式
客户现在提出要求,希望得到的日期格式是符合中国人习惯的格式.要求返回的格式是"日".挑战来了,没有挑战就没有进步,我喜欢挑战.光说是没有用的!先分析一下怎么解决这个问题.我考虑了两种思路.  思路一:研究了一下上面两个日期处理类,发现他们都是继承了基类"DateTimeConverterBase",所以我们可以参考"IsoDatetimeConverter"的实现方式,自己新建一个处理日期格式的转换器类.这种方式的缺点是可能要花大量的时间去研究,比较费时费力.优点就是可以对日期格式随心所欲的控制.  思路二:我又研究了一下"IsoDatetimeConverter",发现它的日期格式其实是由于内部DefaultDateTimeFormat&=&"yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK"导致,而它也提供了修改日期样式的属性"DateTimeFormat",只要我们按照这种格式来写就OK了.
Staff jack = new Staff { Name = "Jack", Age = 30, Gender = "Male",
DepartmentName = "Personnel Department", BirthDate = new DateTime(), EmploymentDate = new DateTime() };
IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy'年'MM'月'dd'日'" };
string json = JsonConvert.SerializeObject(jack,dtConverter);
Console.WriteLine(json);
1.如何自定义序列化的字段名称?
默认情况下,Json.Net序列化后结果中的字段名称和类中属性的名称一致.如果想自定义序列化后的字段名称,可以使用JsonProperty.例如:
public class Person
public int Id { }
public string Name { }
默认序列化的结果为:&{"Id":1,"Name":"杨过"},如果不想用默认的字段名称,可以使用如下方式:
public class Person
[JsonProperty(PropertyName = "PersonId")]
public int Id { }
[JsonProperty(PropertyName = "PersonName")]
public string Name { }
这样序列化的结果为:{"PersonId":1,"PersonName":"杨过"}
Newtonsoft.Json高级用法
/yanweidie/p/4605212.html
阅读(...) 评论()}

我要回帖

更多关于 u盘无法格式化 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信