本文整理汇总了C#中MemoryStream.GetBuffer方法的典型用法代码示例。如果您正苦于以下问题:C# MemoryStream.GetBuffer方法的具体用法?C# MemoryStream.GetBuffer怎么用?C# MemoryStream.GetBuffer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MemoryStream
的用法示例。
在下文中一共展示了MemoryStream.GetBuffer方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MemoryStream_GetBuffer
public void MemoryStream_GetBuffer()
{
byte[] testdata = new byte[100];
new Random(45135).NextBytes(testdata);
MemoryStream ms = new MemoryStream(100);
byte[] buffer = ms.GetBuffer();
Assert.Equal(100, buffer.Length);
ms.Write(testdata, 0, 100);
ms.Write(testdata, 0, 100);
Assert.Equal(200, ms.Length);
buffer = ms.GetBuffer();
Assert.Equal(256, buffer.Length); // Minimun size after writing
}
示例2: GetEntity
public override object GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
{
if (Message != null)
{
Console.WriteLine(Message + absoluteUri + " (role=" + role + ")");
}
if (absoluteUri.ToString().EndsWith(".txt"))
{
MemoryStream ms = new MemoryStream();
StreamWriter tw = new StreamWriter(ms);
tw.Write("<uri>");
tw.Write(absoluteUri);
tw.Write("</uri>");
tw.Flush();
return new MemoryStream(ms.GetBuffer(), 0, (int)ms.Length);
}
if (absoluteUri.ToString().EndsWith("empty.xslt"))
{
String ss = "<transform xmlns='http://www.w3.org/1999/XSL/Transform' version='2.0'/>";
MemoryStream ms = new MemoryStream();
StreamWriter tw = new StreamWriter(ms);
tw.Write(ss);
tw.Flush();
return new MemoryStream(ms.GetBuffer(), 0, (int)ms.Length);
}
else
{
return null;
}
}
示例3: saveInner
private void saveInner()
{
MemoryStream ms = new MemoryStream();
xmlDoc.Save(ms);
PlayerPrefs.SetString(resourceName, enc.GetString(ms.GetBuffer()));
ms.Close();
}
示例4: Main
public static void Main() {
byte[] bytes;
var values = new long[] {
0, 1, 0xFFFF, 0xFF00FF00FF00L, 12345678901234L, -0xFFFF, -0xFF00FF00FF00L
};
long length;
using (var ms = new MemoryStream())
using (var bw = new BinaryWriter(ms)) {
foreach (var value in values) {
bw.Write(value);
Console.WriteLine(value);
}
bw.Flush();
length = ms.Position;
bytes = ms.GetBuffer();
}
Util.PrintByteArray(bytes, (int)length);
using (var ms = new MemoryStream(bytes, false))
using (var br = new BinaryReader(ms)) {
for (int i = 0; i < values.Length; i++) {
var value = br.ReadInt64();
Console.WriteLine(value);
}
}
}
示例5: Serialize
public static string Serialize(object o)
{
BinaryFormatter bf = new BinaryFormatter();
MemoryStream m = new MemoryStream();
bf.Serialize(m, o);
return System.Convert.ToBase64String(m.GetBuffer());
}
示例6: SaveSphereInfo
//현재 정보를 저장
void SaveSphereInfo()
{
//정보를 저장하기위한 클래스 생성
SaveInfo saveInfo = new SaveInfo();
saveInfo.posX = this.transform.position.x;
saveInfo.posY = this.transform.position.y;
saveInfo.posZ = this.transform.position.z;
saveInfo.scaleX = this.transform.localScale.x;
saveInfo.scaleY = this.transform.localScale.y;
saveInfo.scaleZ = this.transform.localScale.z;
saveInfo.name = this.gameObject.name;
//메모리를 2진데이터로 바꿔준다.
BinaryFormatter formatter = new BinaryFormatter();
//2진데이터화 된 메모리를 저장할 공간.
MemoryStream memStream = new MemoryStream();
//BinaryFormatter 인스턴스를 통해 saveInfo 의 메모리블럭을 2진데이터화하여 memStream 에 저장
formatter.Serialize(memStream, saveInfo);
//저장된 메모리스트림에 있는 메모리를 문자로 강제 치환
string memStr = Convert.ToBase64String(memStream.GetBuffer());
print(memStr);
//플레이어프리펩에 문자열 자체로 저장
PlayerPrefs.SetString("SphereInfo", memStr);
}
示例7: Main
public static void Main()
{
TcpClient server = new TcpClient("127.0.0.1", 7000); // 서버에 접속
NetworkStream ns = server.GetStream(); // NetworkStream 얻기
SerialExample ex1 = new SerialExample(); // 직렬화 인스턴스 생성
ex1.id = 1;
ex1.name = "홍길동";
ex1.kor = 80;
ex1.math = 50;
ex1.eng = 100;
IFormatter formatter = new SoapFormatter(); // IFormatter 생성
MemoryStream strm = new MemoryStream(); // 메모리 스트림 생성
formatter.Serialize(strm, ex1); // 메모리 스트림에 직렬화 인스턴스 생성
byte[] data = strm.GetBuffer();
int data_size = (int)strm.Length;
byte[] size = BitConverter.GetBytes(data_size); // 메모리 스트림 전체 크기전송
ns.Write(size, 0, 4); // 전송할 데이터 사이즈 전송
ns.Write(data, 0, data_size); // 메모리 스트림에 있는 데이터 전송
ns.Flush();
strm.Close();
ns.Close();
server.Close();
}
示例8: Save
public static void Save()
{
MemoryStream ms = new MemoryStream();
singleton.data.OwnerDocument.Save(ms);
PlayerPrefs.SetString(singleton.resourceName, enc.GetString(ms.GetBuffer()));
ms.Close();
}
示例9: Wipe
public static void Wipe()
{
MemoryStream ms = new MemoryStream();
singleton.defaultUserState.xmlDoc.Save(ms);
PlayerPrefs.SetString(singleton.resourceName, enc.GetString(ms.GetBuffer()));
ms.Close();
}
示例10: Byte_ConvertObjectToBinary_FromMulti1Pos
private static byte[] Byte_ConvertObjectToBinary_FromMulti1Pos(Multi1Pos obj)
{
MemoryStream o = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(o, obj);
return o.GetBuffer();
}
示例11: Page_Load
protected void Page_Load(object sender, EventArgs e)
{
string mode = Request["mode"];
int node = 0;
int.TryParse(Request["nid"], out node);
Super2d3dGraph oGraph = null;
if (mode == "links") {
if (WAFContext.Session.ContentExists(node)) {
NewsletterDelivery delivery = WAFContext.Session.GetContent<NewsletterDelivery>(node,WAFContext.Session.LCID);
oGraph = NewsletterCharts.GetDeliveryLinksBarChart(delivery);
}
} else if (mode == "clicksvssent") {
if (WAFContext.Session.ContentExists(node)) {
NewsletterDelivery delivery = WAFContext.Session.GetContent<NewsletterDelivery>(node,WAFContext.Session.LCID);
oGraph = NewsletterCharts.GetDeliveryReadsVsClicksBarChart(delivery);
}
}
if (oGraph != null) {
oGraph.RefreshChart();
// Save image in a temporary buffer (PNG format for best quality)
MemoryStream io = new MemoryStream();
oGraph.Image.Save(io, ImageFormat.Png);
// Output the content of the buffer to the browser
Response.Clear();
Response.ContentType = "image/png";
Response.BinaryWrite(io.GetBuffer());
}
}
示例12: Byte_ConvertObjectToBinary
public static byte[] Byte_ConvertObjectToBinary(float obj)
{
MemoryStream o = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(o, obj);
return o.GetBuffer();
}
示例13: Main
public static void Main()
{
Console.WriteLine("999 is 03e7 when big endian");
Console.WriteLine("999 = " + BitConverter.ToString(BitConverter.GetBytes(999)));
Console.WriteLine("byteorder = " + (BitConverter.IsLittleEndian ? "little" : "big"));
int x = (1 << 24)
+ (2 << 16)
+ (3 << 8)
+ 4;
Console.WriteLine("int = " + x + " # " +
BitConverter.ToString(BitConverter.GetBytes(x), 0));
using(var m = new MemoryStream())
{
using(var w = new BinaryWriter(m))
{
w.Write(x);
m.Seek(0, SeekOrigin.Begin);
var buf = m.GetBuffer();
Array.Resize(ref buf, 4);
Console.WriteLine("write = " + BitConverter.ToInt32(buf, 0) + " # " +
BitConverter.ToString(buf, 0));
using(var r = new BinaryReader(m))
{
int y = r.ReadInt32();
Console.WriteLine("read = " +y + " # " +
BitConverter.ToString(BitConverter.GetBytes(y)));
}
}
}
}
示例14: BinarySerialize
string BinarySerialize(List<string> list)
{
MemoryStream stream = new MemoryStream();
BinaryFormatter bFormat = new BinaryFormatter();
bFormat.Serialize(stream, list);
string ListData = Convert.ToBase64String(stream.GetBuffer());
return ListData;
}
示例15: ToBytes
public byte[] ToBytes()
{
MemoryStream stream = new MemoryStream();
BinaryWriter writer = new BinaryWriter(stream);
Save(ref writer);
writer.Close();
return stream.GetBuffer();
}